@asyncapi/generator 2.8.3 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/README.md +3 -0
- package/docs/api.md +1 -50
- package/docs/baked-in-templates.md +1 -1
- package/docs/jsdoc2md-handlebars/main-index/global-index/global-index-dl.hbs +13 -0
- package/docs/jsdoc2md-handlebars/member-index-grouped.hbs +6 -0
- package/docs/jsdoc2md-handlebars/member-index-list.hbs +6 -0
- package/docs/jsdoc2md-handlebars/members.hbs +1 -0
- package/docs/migration-nunjucks-react.md +2 -2
- package/jest.config.js +7 -5
- package/lib/__mocks__/templateConfigValidator.js +1 -1
- package/lib/generator.js +4 -59
- package/lib/templates/BakedInTemplatesList.json +7 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/.ageneratorrc +33 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/README.md +35 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientConsumer.js +30 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientConsumer.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientEndpoint.js +46 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientEndpoint.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientProducer.js +30 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientProducer.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ConsumeEvent.js +26 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ConsumeEvent.js.map +1 -0
- package/lib/templates/bakedInTemplates/{core-template-client-websocket-javascript/__transpiled/components/HandleMessage.js → core-template-client-kafka-java-quarkus/__transpiled/components/ConsumerFields.js} +7 -8
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ConsumerFields.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/EndpointFields.js +44 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/EndpointFields.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/MiddleService.js +46 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/MiddleService.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ProduceEvent.js +48 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ProduceEvent.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ProducerFields.js +26 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ProducerFields.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/SendEvent.js +40 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/SendEvent.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/ConsumerDependencies.js +18 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/ConsumerDependencies.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/EndpointDependencies.js +18 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/EndpointDependencies.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/ProducerDependencies.js +18 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/ProducerDependencies.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/jest.config.js +13 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/jest.config.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js +183 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/consumer.java.js +86 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/consumer.java.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/models/model.js +19 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/models/model.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/producer.java.js +102 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/producer.java.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/resources/AppProperties.js +73 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/resources/AppProperties.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ClientConsumer.js +20 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ClientEndpoint.js +32 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ClientProducer.js +21 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ConsumeEvent.js +18 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ConsumerFields.js +9 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/EndpointFields.js +40 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/MiddleService.js +37 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ProduceEvent.js +39 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ProducerFields.js +16 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/SendEvent.js +33 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/dependencies/ConsumerDependencies.js +11 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/dependencies/EndpointDependencies.js +11 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/dependencies/ProducerDependencies.js +11 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/jest.config.js +14 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/package.json +49 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/.dockerignore +5 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/.mvn/wrapper/MavenWrapperDownloader.java +93 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/.mvn/wrapper/maven-wrapper.properties +20 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/README.md +59 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/mvnw +332 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/mvnw.cmd +206 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/pom.xml +123 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/docker/Dockerfile.jvm +98 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/docker/docker-compose.yaml +28 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/java/com/asyncapi/client.java.js +27 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/java/com/asyncapi/consumer.java.js +22 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/java/com/asyncapi/models/model.js +6 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/java/com/asyncapi/producer.java.js +23 -0
- package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/resources/AppProperties.js +75 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/ClientClass.js +10 -5
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/ClientClass.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/jest.config.js +13 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/jest.config.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/template/client.dart.js +10 -74
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/template/client.dart.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/ClientClass.js +11 -7
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/jest.config.js +14 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/package.json +1 -15
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/README.md +88 -6
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ClientConnector.js +22 -5
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ClientConnector.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ClientFields.js +19 -2
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ClientFields.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ConnectorFields.js +8 -2
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ConnectorFields.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/Constructor.js +44 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/Constructor.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ConstructorSignature.js +28 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ConstructorSignature.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/DefaultConstructorSignature.js +32 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/DefaultConstructorSignature.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/EchoWebSocket.js +20 -5
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/EchoWebSocket.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/HandleError.js +1 -2
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/HandleError.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/InitConnector.js +23 -33
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/InitConnector.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnTextMessageHandler.js +42 -9
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnTextMessageHandler.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/TimedConnection.js +39 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/TimedConnection.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/URIParams.js +63 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/URIParams.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/dependencies/ClientDependencies.js +13 -17
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/dependencies/ClientDependencies.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/dependencies/ConnectorDependencies.js +16 -15
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/dependencies/ConnectorDependencies.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/jest.config.js +13 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/jest.config.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js +153 -57
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/connector.java.js +152 -51
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/connector.java.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/models/model.js +2 -35
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/models/model.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/resources/AppProperties.js +3 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/resources/AppProperties.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/ClientConnector.js +12 -5
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/ClientFields.js +18 -2
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/ConnectorFields.js +7 -2
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/Constructor.js +30 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/ConstructorSignature.js +19 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/DefaultConstructorSignature.js +23 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/EchoWebSocket.js +17 -7
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/HandleError.js +2 -2
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/InitConnector.js +13 -30
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/OnTextMessageHandler.js +55 -15
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/TimedConnection.js +31 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/URIParams.js +60 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/dependencies/ClientDependencies.js +12 -18
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/dependencies/ConnectorDependencies.js +16 -16
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/jest.config.js +14 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/package.json +1 -15
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/pom.xml +15 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/src/main/java/com/asyncapi/client.java.js +4 -3
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/src/main/java/com/asyncapi/connector.java.js +7 -3
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/src/main/java/com/asyncapi/models/model.js +2 -32
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/src/main/resources/AppProperties.js +5 -2
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/.ageneratorrc +8 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/ClientClass.js +15 -7
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/ClientClass.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/CompileOperationSchemas.js +48 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/CompileOperationSchemas.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/Constructor.js +7 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/Constructor.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/jest.config.js +13 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/jest.config.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/template/client.js.js +51 -116
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/template/client.js.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/ClientClass.js +19 -11
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/CompileOperationSchemas.js +40 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/Constructor.js +7 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/jest.config.js +14 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/package.json +5 -18
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/template/client.js.js +5 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/README.md +20 -5
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/ClientClass.js +15 -8
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/ClientClass.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/Constructor.js +3 -2
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/Constructor.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/jest.config.js +13 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/jest.config.js.map +1 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/template/client.py.js +41 -174
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/template/client.py.js.map +1 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/ClientClass.js +20 -10
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/Constructor.js +5 -2
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/jest.config.js +14 -0
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/package.json +1 -15
- package/lib/templates/config/loader.js +64 -0
- package/lib/{templateConfigValidator.js → templates/config/validator.js} +2 -2
- package/package.json +3 -3
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/Connect.js +0 -60
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/Connect.js.map +0 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/HandleMessage.js +0 -21
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/HandleMessage.js.map +0 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/RegisterErrorHandler.js +0 -21
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/RegisterErrorHandler.js.map +0 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/Connect.js +0 -49
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/HandleMessage.js +0 -14
- package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/RegisterErrorHandler.js +0 -14
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnClose.js +0 -23
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnClose.js.map +0 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnOpen.js +0 -25
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnOpen.js.map +0 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/OnClose.js +0 -16
- package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/OnOpen.js +0 -16
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/Connect.js +0 -63
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/Connect.js.map +0 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/HandleMessage.js.map +0 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/RegisterErrorHandler.js +0 -25
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/RegisterErrorHandler.js.map +0 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/SendOperation.js +0 -53
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/SendOperation.js.map +0 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/Connect.js +0 -54
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/HandleMessage.js +0 -14
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/RegisterErrorHandler.js +0 -18
- package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/SendOperation.js +0 -44
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/Connect.js +0 -58
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/Connect.js.map +0 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/HandleMessage.js +0 -24
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/HandleMessage.js.map +0 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/QueryParamsVariables.js +0 -36
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/QueryParamsVariables.js.map +0 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/RegisterErrorHandler.js +0 -23
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/RegisterErrorHandler.js.map +0 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/SendOperation.js +0 -56
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/SendOperation.js.map +0 -1
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/Connect.js +0 -49
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/HandleMessage.js +0 -17
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/QueryParamsVariables.js +0 -27
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/RegisterErrorHandler.js +0 -16
- package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/SendOperation.js +0 -50
|
@@ -20,29 +20,34 @@ function Requires({
|
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
function
|
|
24
|
-
|
|
23
|
+
function Send({
|
|
24
|
+
sendOperations
|
|
25
25
|
}) {
|
|
26
|
-
if (!
|
|
26
|
+
if (!sendOperations || sendOperations.length === 0) {
|
|
27
27
|
return null;
|
|
28
28
|
}
|
|
29
|
-
return
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
29
|
+
return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
|
|
30
|
+
newLines: 2,
|
|
31
|
+
indent: 2,
|
|
32
|
+
children: `
|
|
33
|
+
@staticmethod
|
|
34
|
+
async def _send(message, socket):
|
|
35
|
+
"""
|
|
36
|
+
Internal helper to handle the actual sending logic.
|
|
37
|
+
|
|
38
|
+
Args:
|
|
39
|
+
message (dict or str): The message to send.
|
|
40
|
+
socket (websockets.WebSocketCommonProtocol): The WebSocket to send through.
|
|
41
|
+
|
|
42
|
+
Notes:
|
|
43
|
+
If message is a dictionary, it will be automatically converted to JSON.
|
|
44
|
+
"""
|
|
45
|
+
try:
|
|
46
|
+
if isinstance(message, dict):
|
|
47
|
+
message = json.dumps(message)
|
|
48
|
+
await socket.send(message)
|
|
49
|
+
except Exception as e:
|
|
50
|
+
print("Error sending:", e)`
|
|
46
51
|
});
|
|
47
52
|
}
|
|
48
53
|
|
|
@@ -118,7 +123,8 @@ function Constructor({
|
|
|
118
123
|
self._stop_event = threading.Event()
|
|
119
124
|
|
|
120
125
|
${query ? 'params = {}' : ''}`
|
|
121
|
-
}), /*#__PURE__*/jsxRuntime.jsx(QueryParamsVariables, {
|
|
126
|
+
}), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.QueryParamsVariables, {
|
|
127
|
+
language: "python",
|
|
122
128
|
queryParams: queryParamsArray
|
|
123
129
|
}), /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
|
|
124
130
|
newLines: 2,
|
|
@@ -129,157 +135,6 @@ function Constructor({
|
|
|
129
135
|
});
|
|
130
136
|
}
|
|
131
137
|
|
|
132
|
-
function Connect({
|
|
133
|
-
title
|
|
134
|
-
}) {
|
|
135
|
-
return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
|
|
136
|
-
newLines: 2,
|
|
137
|
-
indent: 2,
|
|
138
|
-
children: `def on_open(self, ws):
|
|
139
|
-
print("Connected to ${title} server")
|
|
140
|
-
|
|
141
|
-
def on_message(self, ws, message):
|
|
142
|
-
self.handle_message(message)
|
|
143
|
-
|
|
144
|
-
def on_error(self, ws, error):
|
|
145
|
-
print("WebSocket Error:", error)
|
|
146
|
-
self.handle_error(error)
|
|
147
|
-
|
|
148
|
-
def on_close(self, ws, close_status_code, close_msg):
|
|
149
|
-
print("Disconnected from ${title}", close_status_code, close_msg)
|
|
150
|
-
|
|
151
|
-
def connect(self):
|
|
152
|
-
"""Establish the connection and start the run_forever loop in a background thread."""
|
|
153
|
-
ssl_opts = {"ca_certs": certifi.where()}
|
|
154
|
-
self.ws_app = websocket.WebSocketApp(
|
|
155
|
-
self.url,
|
|
156
|
-
on_open=self.on_open,
|
|
157
|
-
on_message=self.on_message,
|
|
158
|
-
on_error=self.on_error,
|
|
159
|
-
on_close=self.on_close
|
|
160
|
-
)
|
|
161
|
-
# Run the WebSocketApp's run_forever in a separate thread with multithreading enabled.
|
|
162
|
-
def run():
|
|
163
|
-
|
|
164
|
-
retry = 0
|
|
165
|
-
max_retries = 5
|
|
166
|
-
|
|
167
|
-
while not self._stop_event.is_set() and retry < max_retries:
|
|
168
|
-
try:
|
|
169
|
-
retry += 1
|
|
170
|
-
print("Starting WebSocket thread...")
|
|
171
|
-
self.ws_app.run_forever(sslopt=ssl_opts)
|
|
172
|
-
except Exception as e:
|
|
173
|
-
print(f"Exception in WebSocket thread: {e}") # Print full error details
|
|
174
|
-
|
|
175
|
-
thread = threading.Thread(target=run, daemon=True)
|
|
176
|
-
thread.start()`
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
function RegisterErrorHandler() {
|
|
181
|
-
return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
|
|
182
|
-
newLines: 2,
|
|
183
|
-
indent: 2,
|
|
184
|
-
children: `def register_error_handler(self, handler):
|
|
185
|
-
"""Register a callable to process errors."""
|
|
186
|
-
if callable(handler):
|
|
187
|
-
self.error_handlers.append(handler)
|
|
188
|
-
else:
|
|
189
|
-
print("Error handler must be callable")`
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
function HandleMessage() {
|
|
194
|
-
return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
|
|
195
|
-
newLines: 2,
|
|
196
|
-
indent: 2,
|
|
197
|
-
children: `def handle_message(self, message):
|
|
198
|
-
"""Pass the incoming message to all registered message handlers. """
|
|
199
|
-
if len(self.message_handlers) == 0:
|
|
200
|
-
print("\\033[94mReceived raw message:\\033[0m", message)
|
|
201
|
-
else:
|
|
202
|
-
for handler in self.message_handlers:
|
|
203
|
-
handler(message)`
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
function SendOperation({
|
|
208
|
-
sendOperations,
|
|
209
|
-
clientName
|
|
210
|
-
}) {
|
|
211
|
-
if (!sendOperations || sendOperations.length === 0) {
|
|
212
|
-
return null;
|
|
213
|
-
}
|
|
214
|
-
return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
215
|
-
children: sendOperations.map(operation => {
|
|
216
|
-
const methodName = generatorHelpers.toSnakeCase(operation.id());
|
|
217
|
-
const staticMethodName = `${methodName}_static`;
|
|
218
|
-
return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
|
|
219
|
-
newLines: 2,
|
|
220
|
-
indent: 2,
|
|
221
|
-
children: `async def ${methodName}(self, message):
|
|
222
|
-
"""
|
|
223
|
-
Send a ${methodName} message using the WebSocket connection attached to this instance.
|
|
224
|
-
|
|
225
|
-
Args:
|
|
226
|
-
message (dict or str): The message to send. Will be serialized to JSON if it's a dictionary.
|
|
227
|
-
|
|
228
|
-
Raises:
|
|
229
|
-
Exception: If sending fails or the socket is not connected.
|
|
230
|
-
"""
|
|
231
|
-
await self._send(message, self.ws_app)
|
|
232
|
-
|
|
233
|
-
@staticmethod
|
|
234
|
-
async def ${staticMethodName}(message, socket):
|
|
235
|
-
"""
|
|
236
|
-
Send a ${methodName} message using a provided WebSocket connection, without needing an instance.
|
|
237
|
-
|
|
238
|
-
Args:
|
|
239
|
-
message (dict or str): The message to send.
|
|
240
|
-
socket (websockets.WebSocketCommonProtocol): The WebSocket to send through.
|
|
241
|
-
|
|
242
|
-
Raises:
|
|
243
|
-
Exception: If sending fails or the socket is not connected.
|
|
244
|
-
"""
|
|
245
|
-
await ${clientName}._send(message, socket)
|
|
246
|
-
`
|
|
247
|
-
});
|
|
248
|
-
})
|
|
249
|
-
});
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
function Send({
|
|
253
|
-
sendOperations
|
|
254
|
-
}) {
|
|
255
|
-
if (!sendOperations || sendOperations.length === 0) {
|
|
256
|
-
return null;
|
|
257
|
-
}
|
|
258
|
-
return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
|
|
259
|
-
newLines: 2,
|
|
260
|
-
indent: 2,
|
|
261
|
-
children: `
|
|
262
|
-
@staticmethod
|
|
263
|
-
async def _send(message, socket):
|
|
264
|
-
"""
|
|
265
|
-
Internal helper to handle the actual sending logic.
|
|
266
|
-
|
|
267
|
-
Args:
|
|
268
|
-
message (dict or str): The message to send.
|
|
269
|
-
socket (websockets.WebSocketCommonProtocol): The WebSocket to send through.
|
|
270
|
-
|
|
271
|
-
Notes:
|
|
272
|
-
If message is a dictionary, it will be automatically converted to JSON.
|
|
273
|
-
"""
|
|
274
|
-
try:
|
|
275
|
-
if isinstance(message, dict):
|
|
276
|
-
message = json.dumps(message)
|
|
277
|
-
await socket.send(message)
|
|
278
|
-
except Exception as e:
|
|
279
|
-
print("Error sending:", e)`
|
|
280
|
-
});
|
|
281
|
-
}
|
|
282
|
-
|
|
283
138
|
function RegisterOutgoingProcessor() {
|
|
284
139
|
return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
|
|
285
140
|
newLines: 2,
|
|
@@ -329,14 +184,26 @@ function ClientClass({
|
|
|
329
184
|
}), /*#__PURE__*/jsxRuntime.jsx(Constructor, {
|
|
330
185
|
serverUrl: serverUrl,
|
|
331
186
|
query: queryParams
|
|
332
|
-
}), /*#__PURE__*/jsxRuntime.jsx(Connect, {
|
|
187
|
+
}), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.Connect, {
|
|
188
|
+
language: "python",
|
|
333
189
|
title: title
|
|
334
190
|
}), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.RegisterMessageHandler, {
|
|
335
191
|
language: "python",
|
|
336
192
|
methodName: "register_message_handler",
|
|
337
193
|
methodParams: ['self', 'handler'],
|
|
338
194
|
preExecutionCode: "\"\"\"Register a callable to process incoming messages.\"\"\""
|
|
339
|
-
}), /*#__PURE__*/jsxRuntime.jsx(RegisterErrorHandler, {
|
|
195
|
+
}), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.RegisterErrorHandler, {
|
|
196
|
+
language: "python",
|
|
197
|
+
methodName: "register_error_handler",
|
|
198
|
+
methodParams: ['self', 'handler'],
|
|
199
|
+
preExecutionCode: "\"\"\"Register a callable to process errors.\"\"\""
|
|
200
|
+
}), /*#__PURE__*/jsxRuntime.jsx(RegisterOutgoingProcessor, {}), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.HandleMessage, {
|
|
201
|
+
language: "python",
|
|
202
|
+
methodName: "handle_message",
|
|
203
|
+
methodParams: ['self', 'message'],
|
|
204
|
+
preExecutionCode: "\"\"\"Pass the incoming message to all registered message handlers. \"\"\""
|
|
205
|
+
}), /*#__PURE__*/jsxRuntime.jsx(HandleError, {}), /*#__PURE__*/jsxRuntime.jsx(generatorComponents.SendOperations, {
|
|
206
|
+
language: "python",
|
|
340
207
|
sendOperations: sendOperations,
|
|
341
208
|
clientName: clientName
|
|
342
209
|
}), /*#__PURE__*/jsxRuntime.jsx(Send, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.py.js","sources":["../../../../../../../../packages/templates/clients/websocket/python/components/Requires.js","../../../../../../../../packages/templates/clients/websocket/python/components/QueryParamsVariables.js","../../../../../../../../packages/templates/clients/websocket/python/components/QueryParamsArgumentsDocs.js","../../../../../../../../packages/templates/clients/websocket/python/components/InitSignature.js","../../../../../../../../packages/templates/clients/websocket/python/components/Constructor.js","../../../../../../../../packages/templates/clients/websocket/python/components/Connect.js","../../../../../../../../packages/templates/clients/websocket/python/components/RegisterErrorHandler.js","../../../../../../../../packages/templates/clients/websocket/python/components/HandleMessage.js","../../../../../../../../packages/templates/clients/websocket/python/components/SendOperation.js","../../../../../../../../packages/templates/clients/websocket/python/components/Send.js","../../../../../../../../packages/templates/clients/websocket/python/components/RegisterOutgoingProcessor.js","../../../../../../../../packages/templates/clients/websocket/python/components/HandleError.js","../../../../../../../../packages/templates/clients/websocket/python/components/ClientClass.js","../../../../../../../../packages/templates/clients/websocket/python/template/client.py.js"],"sourcesContent":["import { DependencyProvider } from '@asyncapi/generator-components';\n\nexport function Requires({ query }) {\n const additionalDependencies = [];\n if (query) {\n additionalDependencies.push('import os');\n additionalDependencies.push('from urllib.parse import urlencode');\n }\n return (\n <DependencyProvider\n language=\"python\"\n additionalDependencies={additionalDependencies}\n />\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function QueryParamsVariables({ queryParams }) {\n if (!queryParams) {\n return null;\n }\n\n return queryParams.map((param) => {\n const paramName = param[0];\n const variableDefinition = `${paramName} = ${paramName} or os.getenv(\"${paramName.toUpperCase()}\")`;\n const ifQueryProvided = `if ${paramName} is not None:`;\n const assignment = `params[\"${paramName}\"] = ${paramName}`;\n return (\n <>\n <Text indent={8}>\n {variableDefinition}\n </Text>\n <Text indent={8}>\n {ifQueryProvided}\n </Text>\n <Text indent={10}>\n {assignment}\n </Text>\n </>\n );\n });\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function QueryParamsArgumentsDocs({ queryParams }) {\n if (!queryParams) {\n return null;\n }\n\n return queryParams.map((param) => {\n const paramName = param[0];\n const firstLine = `${paramName} (str, optional):`;\n const secondLine = `If provided (or if ${paramName.toUpperCase()} environment variable is set), added as ?${paramName}=… to URL`;\n return (\n <Text indent={1}>\n {firstLine}\n {secondLine}\n </Text>\n );\n });\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function InitSignature({ queryParams, serverUrl }) {\n if (!queryParams) {\n return (\n <Text indent={2} newLines={2}>\n {`def __init__(self, url: str = \"${serverUrl}\"):`}\n </Text>\n );\n }\n \n const queryParamsArguments = queryParams?.map((param) => {\n const paramName = param[0];\n const paramDefaultValue = param[1];\n const defaultValue = paramDefaultValue ? `\"${paramDefaultValue}\"` : 'None';\n return `${paramName}: str = ${defaultValue}`;\n }).join(', ');\n \n return (\n <Text indent={2} newLines={2}>\n {`def __init__(self, url: str = \"${serverUrl}\", ${queryParamsArguments}):`}\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\nimport { QueryParamsVariables } from './QueryParamsVariables';\nimport { QueryParamsArgumentsDocs } from './QueryParamsArgumentsDocs';\nimport { InitSignature } from './InitSignature';\n\nexport function Constructor({ serverUrl, query}) {\n const queryParamsArray = query && Array.from(query.entries());\n \n return (\n <>\n <InitSignature queryParams={queryParamsArray} serverUrl={serverUrl} />\n <Text indent={2}>\n {`\n \"\"\"\n Constructor to initialize the WebSocket client.\n\n Args:\n url (str, optional): The WebSocket server URL. Use it if the server URL is \n different from the default one taken from the AsyncAPI document.`}\n </Text>\n <QueryParamsArgumentsDocs queryParams={queryParamsArray} />\n <Text indent={2}>\n {`\n \"\"\"\n self.ws_app = None # Instance of WebSocketApp\n self.message_handlers = [] # Callables for incoming messages\n self.error_handlers = [] # Callables for errors\n self.outgoing_processors = [] # Callables to process outgoing messages\n self._stop_event = threading.Event()\n \n ${ query ? 'params = {}' : ''}`\n }\n </Text>\n <QueryParamsVariables queryParams={queryParamsArray} />\n <Text newLines={2}>\n {`\n ${query ? 'qs = urlencode(params) if params else \"\"' : ''}\n ${query ? 'self.url = f\"{url}{f\\'?{qs}\\' if qs else \\'\\'}\"' : 'self.url = url'}`}\n </Text>\n </>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function Connect({ title }) {\n return (\n <Text newLines={2} indent={2}>\n {\n `def on_open(self, ws):\n print(\"Connected to ${title} server\")\n\ndef on_message(self, ws, message):\n self.handle_message(message)\n\ndef on_error(self, ws, error):\n print(\"WebSocket Error:\", error)\n self.handle_error(error)\n\ndef on_close(self, ws, close_status_code, close_msg):\n print(\"Disconnected from ${title}\", close_status_code, close_msg)\n\ndef connect(self):\n \"\"\"Establish the connection and start the run_forever loop in a background thread.\"\"\"\n ssl_opts = {\"ca_certs\": certifi.where()}\n self.ws_app = websocket.WebSocketApp(\n self.url,\n on_open=self.on_open,\n on_message=self.on_message,\n on_error=self.on_error,\n on_close=self.on_close\n )\n # Run the WebSocketApp's run_forever in a separate thread with multithreading enabled.\n def run():\n\n retry = 0\n max_retries = 5\n \n while not self._stop_event.is_set() and retry < max_retries:\n try:\n retry += 1\n print(\"Starting WebSocket thread...\")\n self.ws_app.run_forever(sslopt=ssl_opts)\n except Exception as e:\n print(f\"Exception in WebSocket thread: {e}\") # Print full error details\n\n thread = threading.Thread(target=run, daemon=True)\n thread.start()`\n }\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function RegisterErrorHandler() {\n return (\n <Text newLines={2} indent={2}>\n {\n `def register_error_handler(self, handler):\n \"\"\"Register a callable to process errors.\"\"\"\n if callable(handler):\n self.error_handlers.append(handler)\n else:\n print(\"Error handler must be callable\")`\n }\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function HandleMessage() {\n return (\n <Text newLines={2} indent={2}>\n {\n `def handle_message(self, message):\n \"\"\"Pass the incoming message to all registered message handlers. \"\"\"\n if len(self.message_handlers) == 0:\n print(\"\\\\033[94mReceived raw message:\\\\033[0m\", message)\n else:\n for handler in self.message_handlers:\n handler(message)`\n }\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\nimport { toSnakeCase } from '@asyncapi/generator-helpers';\n\nexport function SendOperation({ sendOperations, clientName }) {\n if (!sendOperations || sendOperations.length === 0) {\n return null;\n }\n\n return (\n <>\n {\n sendOperations.map((operation) => {\n const methodName = toSnakeCase(operation.id());\n const staticMethodName = `${methodName}_static`;\n \n return (\n <Text newLines={2} indent={2}>\n {`async def ${methodName}(self, message):\n \"\"\"\n Send a ${methodName} message using the WebSocket connection attached to this instance.\n\n Args:\n message (dict or str): The message to send. Will be serialized to JSON if it's a dictionary.\n\n Raises:\n Exception: If sending fails or the socket is not connected.\n \"\"\"\n await self._send(message, self.ws_app)\n\n@staticmethod\nasync def ${staticMethodName}(message, socket):\n \"\"\"\n Send a ${methodName} message using a provided WebSocket connection, without needing an instance.\n\n Args:\n message (dict or str): The message to send.\n socket (websockets.WebSocketCommonProtocol): The WebSocket to send through.\n\n Raises:\n Exception: If sending fails or the socket is not connected.\n \"\"\"\n await ${clientName}._send(message, socket)\n`}\n </Text>\n );\n })\n }\n </>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function Send({ sendOperations }) {\n if (!sendOperations || sendOperations.length === 0) {\n return null;\n }\n\n return (\n <Text newLines={2} indent={2}>\n {\n `\n@staticmethod\nasync def _send(message, socket):\n \"\"\"\n Internal helper to handle the actual sending logic.\n\n Args:\n message (dict or str): The message to send.\n socket (websockets.WebSocketCommonProtocol): The WebSocket to send through.\n\n Notes:\n If message is a dictionary, it will be automatically converted to JSON.\n \"\"\"\n try:\n if isinstance(message, dict):\n message = json.dumps(message)\n await socket.send(message)\n except Exception as e:\n print(\"Error sending:\", e)`\n }\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function RegisterOutgoingProcessor() {\n return (\n <Text newLines={2} indent={2}>\n {\n `def register_outgoing_processor(self, processor):\n \"\"\"\n Register a callable that processes outgoing messages automatically.\n These processors run in sequence before each message is sent.\n \"\"\"\n if callable(processor):\n self.outgoing_processors.append(processor)\n else:\n print(\"Outgoing processor must be callable\")`\n }\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function HandleError() {\n return (\n <Text newLines={2} indent={2}>\n {\n `def handle_error(self, error):\n \"\"\"Pass the error to all registered error handlers. Generic log message is printed if no handlers are registered.\"\"\"\n if len(self.error_handlers) == 0:\n print(\"\\\\033[91mError occurred:\\\\033[0m\", error)\n else:\n # Call custom error handlers\n for handler in self.error_handlers:\n handler(error)`\n }\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\nimport { getClientName, getServerUrl, getServer, getQueryParams, getTitle } from '@asyncapi/generator-helpers';\nimport { Constructor } from './Constructor';\nimport { Connect } from './Connect';\nimport { RegisterErrorHandler } from './RegisterErrorHandler';\nimport { HandleMessage } from './HandleMessage';\nimport { SendOperation } from './SendOperation';\nimport { Send } from './Send';\nimport { CloseConnection, RegisterMessageHandler } from '@asyncapi/generator-components';\nimport { RegisterOutgoingProcessor } from './RegisterOutgoingProcessor';\nimport { HandleError } from './HandleError';\n\nexport function ClientClass({ asyncapi, params }) {\n const server = getServer(asyncapi.servers(), params.server);\n const title = getTitle(asyncapi);\n const queryParams = getQueryParams(asyncapi.channels());\n const clientName = getClientName(asyncapi, params.appendClientSuffix, params.customClientName);\n const serverUrl = getServerUrl(server);\n const operations = asyncapi.operations();\n const sendOperations = operations.filterBySend();\n return (\n <Text>\n <Text newLines={2}>\n {`class ${clientName}:`}\n </Text>\n <Constructor serverUrl={serverUrl} query={queryParams} />\n <Connect title={title} />\n <RegisterMessageHandler\n language=\"python\"\n methodName='register_message_handler'\n methodParams={['self', 'handler']}\n preExecutionCode='\"\"\"Register a callable to process incoming messages.\"\"\"'\n />\n <RegisterErrorHandler />\n <RegisterOutgoingProcessor />\n <HandleMessage />\n <HandleError />\n <SendOperation sendOperations={sendOperations} clientName={clientName} />\n <Send sendOperations={sendOperations} />\n <CloseConnection \n language=\"python\" \n methodParams={['self']}\n preExecutionCode='\"\"\"Cleanly close the WebSocket connection.\"\"\"'\n />\n </Text>\n );\n}\n","import { File } from '@asyncapi/generator-react-sdk';\nimport { getServer, getQueryParams, getInfo } from '@asyncapi/generator-helpers';\nimport { FileHeaderInfo } from '@asyncapi/generator-components';\nimport { Requires } from '../components/Requires';\nimport { ClientClass } from '../components/ClientClass';\n\nexport default function ({ asyncapi, params }) {\n const server = getServer(asyncapi.servers(), params.server);\n const info = getInfo(asyncapi);\n const queryParams = getQueryParams(asyncapi.channels());\n return (\n // The clientFileName default values can be found and modified under the .ageneratorrc\n <File name={params.clientFileName}>\n <FileHeaderInfo\n info={info}\n server={server}\n language=\"python\"\n />\n <Requires query={queryParams} />\n <ClientClass asyncapi={asyncapi} params={params} />\n </File>\n );\n}\n"],"names":["Requires","query","additionalDependencies","push","_jsx","DependencyProvider","language","QueryParamsVariables","queryParams","map","param","paramName","variableDefinition","toUpperCase","ifQueryProvided","assignment","_jsxs","_Fragment","children","Text","indent","QueryParamsArgumentsDocs","firstLine","secondLine","InitSignature","serverUrl","newLines","queryParamsArguments","paramDefaultValue","defaultValue","join","Constructor","queryParamsArray","Array","from","entries","Connect","title","RegisterErrorHandler","HandleMessage","SendOperation","sendOperations","clientName","length","operation","methodName","toSnakeCase","id","staticMethodName","Send","RegisterOutgoingProcessor","HandleError","ClientClass","asyncapi","params","server","getServer","servers","getTitle","getQueryParams","channels","getClientName","appendClientSuffix","customClientName","getServerUrl","operations","filterBySend","RegisterMessageHandler","methodParams","preExecutionCode","CloseConnection","info","getInfo","File","name","clientFileName","FileHeaderInfo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.py.js","sources":["../../../../../../../../packages/templates/clients/websocket/python/components/Requires.js","../../../../../../../../packages/templates/clients/websocket/python/components/Send.js","../../../../../../../../packages/templates/clients/websocket/python/components/QueryParamsArgumentsDocs.js","../../../../../../../../packages/templates/clients/websocket/python/components/InitSignature.js","../../../../../../../../packages/templates/clients/websocket/python/components/Constructor.js","../../../../../../../../packages/templates/clients/websocket/python/components/RegisterOutgoingProcessor.js","../../../../../../../../packages/templates/clients/websocket/python/components/HandleError.js","../../../../../../../../packages/templates/clients/websocket/python/components/ClientClass.js","../../../../../../../../packages/templates/clients/websocket/python/template/client.py.js"],"sourcesContent":["import { DependencyProvider } from '@asyncapi/generator-components';\n\nexport function Requires({ query }) {\n const additionalDependencies = [];\n if (query) {\n additionalDependencies.push('import os');\n additionalDependencies.push('from urllib.parse import urlencode');\n }\n return (\n <DependencyProvider\n language=\"python\"\n additionalDependencies={additionalDependencies}\n />\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function Send({ sendOperations }) {\n if (!sendOperations || sendOperations.length === 0) {\n return null;\n }\n\n return (\n <Text newLines={2} indent={2}>\n {\n `\n@staticmethod\nasync def _send(message, socket):\n \"\"\"\n Internal helper to handle the actual sending logic.\n\n Args:\n message (dict or str): The message to send.\n socket (websockets.WebSocketCommonProtocol): The WebSocket to send through.\n\n Notes:\n If message is a dictionary, it will be automatically converted to JSON.\n \"\"\"\n try:\n if isinstance(message, dict):\n message = json.dumps(message)\n await socket.send(message)\n except Exception as e:\n print(\"Error sending:\", e)`\n }\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function QueryParamsArgumentsDocs({ queryParams }) {\n if (!queryParams) {\n return null;\n }\n\n return queryParams.map((param) => {\n const paramName = param[0];\n const firstLine = `${paramName} (str, optional):`;\n const secondLine = `If provided (or if ${paramName.toUpperCase()} environment variable is set), added as ?${paramName}=… to URL`;\n return (\n <Text indent={1}>\n {firstLine}\n {secondLine}\n </Text>\n );\n });\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function InitSignature({ queryParams, serverUrl }) {\n if (!queryParams) {\n return (\n <Text indent={2} newLines={2}>\n {`def __init__(self, url: str = \"${serverUrl}\"):`}\n </Text>\n );\n }\n \n const queryParamsArguments = queryParams?.map((param) => {\n const paramName = param[0];\n const paramDefaultValue = param[1];\n const defaultValue = paramDefaultValue ? `\"${paramDefaultValue}\"` : 'None';\n return `${paramName}: str = ${defaultValue}`;\n }).join(', ');\n \n return (\n <Text indent={2} newLines={2}>\n {`def __init__(self, url: str = \"${serverUrl}\", ${queryParamsArguments}):`}\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\nimport { QueryParamsVariables } from '@asyncapi/generator-components';\nimport { QueryParamsArgumentsDocs } from './QueryParamsArgumentsDocs';\nimport { InitSignature } from './InitSignature';\n\nexport function Constructor({ serverUrl, query}) {\n const queryParamsArray = query && Array.from(query.entries());\n \n return (\n <>\n <InitSignature queryParams={queryParamsArray} serverUrl={serverUrl} />\n <Text indent={2}>\n {`\n \"\"\"\n Constructor to initialize the WebSocket client.\n\n Args:\n url (str, optional): The WebSocket server URL. Use it if the server URL is \n different from the default one taken from the AsyncAPI document.`}\n </Text>\n <QueryParamsArgumentsDocs queryParams={queryParamsArray} />\n <Text indent={2}>\n {`\n \"\"\"\n self.ws_app = None # Instance of WebSocketApp\n self.message_handlers = [] # Callables for incoming messages\n self.error_handlers = [] # Callables for errors\n self.outgoing_processors = [] # Callables to process outgoing messages\n self._stop_event = threading.Event()\n \n ${ query ? 'params = {}' : ''}`\n }\n </Text>\n <QueryParamsVariables\n language=\"python\"\n queryParams={queryParamsArray} \n />\n <Text newLines={2}>\n {`\n ${query ? 'qs = urlencode(params) if params else \"\"' : ''}\n ${query ? 'self.url = f\"{url}{f\\'?{qs}\\' if qs else \\'\\'}\"' : 'self.url = url'}`}\n </Text>\n </>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function RegisterOutgoingProcessor() {\n return (\n <Text newLines={2} indent={2}>\n {\n `def register_outgoing_processor(self, processor):\n \"\"\"\n Register a callable that processes outgoing messages automatically.\n These processors run in sequence before each message is sent.\n \"\"\"\n if callable(processor):\n self.outgoing_processors.append(processor)\n else:\n print(\"Outgoing processor must be callable\")`\n }\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function HandleError() {\n return (\n <Text newLines={2} indent={2}>\n {\n `def handle_error(self, error):\n \"\"\"Pass the error to all registered error handlers. Generic log message is printed if no handlers are registered.\"\"\"\n if len(self.error_handlers) == 0:\n print(\"\\\\033[91mError occurred:\\\\033[0m\", error)\n else:\n # Call custom error handlers\n for handler in self.error_handlers:\n handler(error)`\n }\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\nimport { getClientName, getServerUrl, getServer, getQueryParams, getTitle } from '@asyncapi/generator-helpers';\nimport { Send } from './Send';\nimport { Constructor } from './Constructor';\nimport { CloseConnection, RegisterMessageHandler, RegisterErrorHandler, SendOperations, Connect, HandleMessage } from '@asyncapi/generator-components';\nimport { RegisterOutgoingProcessor } from './RegisterOutgoingProcessor';\nimport { HandleError } from './HandleError';\n\nexport function ClientClass({ asyncapi, params }) {\n const server = getServer(asyncapi.servers(), params.server);\n const title = getTitle(asyncapi);\n const queryParams = getQueryParams(asyncapi.channels());\n const clientName = getClientName(asyncapi, params.appendClientSuffix, params.customClientName);\n const serverUrl = getServerUrl(server);\n const operations = asyncapi.operations();\n const sendOperations = operations.filterBySend();\n return (\n <Text>\n <Text newLines={2}>\n {`class ${clientName}:`}\n </Text>\n <Constructor serverUrl={serverUrl} query={queryParams} />\n <Connect language=\"python\" title={title} />\n <RegisterMessageHandler\n language=\"python\"\n methodName='register_message_handler'\n methodParams={['self', 'handler']}\n preExecutionCode='\"\"\"Register a callable to process incoming messages.\"\"\"'\n />\n <RegisterErrorHandler\n language=\"python\"\n methodName='register_error_handler'\n methodParams={['self', 'handler']}\n preExecutionCode='\"\"\"Register a callable to process errors.\"\"\"'\n />\n <RegisterOutgoingProcessor />\n <HandleMessage\n language=\"python\"\n methodName='handle_message'\n methodParams={['self', 'message']}\n preExecutionCode='\"\"\"Pass the incoming message to all registered message handlers. \"\"\"'\n />\n <HandleError />\n <SendOperations \n language=\"python\"\n sendOperations={sendOperations} \n clientName={clientName} \n />\n <Send sendOperations={sendOperations} />\n <CloseConnection \n language=\"python\" \n methodParams={['self']}\n preExecutionCode='\"\"\"Cleanly close the WebSocket connection.\"\"\"'\n />\n </Text>\n );\n}\n","import { File } from '@asyncapi/generator-react-sdk';\nimport { getServer, getQueryParams, getInfo } from '@asyncapi/generator-helpers';\nimport { FileHeaderInfo } from '@asyncapi/generator-components';\nimport { Requires } from '../components/Requires';\nimport { ClientClass } from '../components/ClientClass';\n\nexport default function ({ asyncapi, params }) {\n const server = getServer(asyncapi.servers(), params.server);\n const info = getInfo(asyncapi);\n const queryParams = getQueryParams(asyncapi.channels());\n return (\n // The clientFileName default values can be found and modified under the .ageneratorrc\n <File name={params.clientFileName}>\n <FileHeaderInfo\n info={info}\n server={server}\n language=\"python\"\n />\n <Requires query={queryParams} />\n <ClientClass asyncapi={asyncapi} params={params} />\n </File>\n );\n}\n"],"names":["Requires","query","additionalDependencies","push","_jsx","DependencyProvider","language","Send","sendOperations","length","Text","newLines","indent","children","QueryParamsArgumentsDocs","queryParams","map","param","paramName","firstLine","secondLine","toUpperCase","_jsxs","InitSignature","serverUrl","queryParamsArguments","paramDefaultValue","defaultValue","join","Constructor","queryParamsArray","Array","from","entries","_Fragment","QueryParamsVariables","RegisterOutgoingProcessor","HandleError","ClientClass","asyncapi","params","server","getServer","servers","title","getTitle","getQueryParams","channels","clientName","getClientName","appendClientSuffix","customClientName","getServerUrl","operations","filterBySend","Connect","RegisterMessageHandler","methodName","methodParams","preExecutionCode","RegisterErrorHandler","HandleMessage","SendOperations","CloseConnection","info","getInfo","File","name","clientFileName","FileHeaderInfo"],"mappings":"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"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import { Text } from '@asyncapi/generator-react-sdk';
|
|
2
2
|
import { getClientName, getServerUrl, getServer, getQueryParams, getTitle } from '@asyncapi/generator-helpers';
|
|
3
|
-
import { Constructor } from './Constructor';
|
|
4
|
-
import { Connect } from './Connect';
|
|
5
|
-
import { RegisterErrorHandler } from './RegisterErrorHandler';
|
|
6
|
-
import { HandleMessage } from './HandleMessage';
|
|
7
|
-
import { SendOperation } from './SendOperation';
|
|
8
3
|
import { Send } from './Send';
|
|
9
|
-
import {
|
|
4
|
+
import { Constructor } from './Constructor';
|
|
5
|
+
import { CloseConnection, RegisterMessageHandler, RegisterErrorHandler, SendOperations, Connect, HandleMessage } from '@asyncapi/generator-components';
|
|
10
6
|
import { RegisterOutgoingProcessor } from './RegisterOutgoingProcessor';
|
|
11
7
|
import { HandleError } from './HandleError';
|
|
12
8
|
|
|
@@ -24,18 +20,32 @@ export function ClientClass({ asyncapi, params }) {
|
|
|
24
20
|
{`class ${clientName}:`}
|
|
25
21
|
</Text>
|
|
26
22
|
<Constructor serverUrl={serverUrl} query={queryParams} />
|
|
27
|
-
<Connect title={title} />
|
|
23
|
+
<Connect language="python" title={title} />
|
|
28
24
|
<RegisterMessageHandler
|
|
29
25
|
language="python"
|
|
30
26
|
methodName='register_message_handler'
|
|
31
27
|
methodParams={['self', 'handler']}
|
|
32
28
|
preExecutionCode='"""Register a callable to process incoming messages."""'
|
|
33
29
|
/>
|
|
34
|
-
<RegisterErrorHandler
|
|
30
|
+
<RegisterErrorHandler
|
|
31
|
+
language="python"
|
|
32
|
+
methodName='register_error_handler'
|
|
33
|
+
methodParams={['self', 'handler']}
|
|
34
|
+
preExecutionCode='"""Register a callable to process errors."""'
|
|
35
|
+
/>
|
|
35
36
|
<RegisterOutgoingProcessor />
|
|
36
|
-
<HandleMessage
|
|
37
|
+
<HandleMessage
|
|
38
|
+
language="python"
|
|
39
|
+
methodName='handle_message'
|
|
40
|
+
methodParams={['self', 'message']}
|
|
41
|
+
preExecutionCode='"""Pass the incoming message to all registered message handlers. """'
|
|
42
|
+
/>
|
|
37
43
|
<HandleError />
|
|
38
|
-
<
|
|
44
|
+
<SendOperations
|
|
45
|
+
language="python"
|
|
46
|
+
sendOperations={sendOperations}
|
|
47
|
+
clientName={clientName}
|
|
48
|
+
/>
|
|
39
49
|
<Send sendOperations={sendOperations} />
|
|
40
50
|
<CloseConnection
|
|
41
51
|
language="python"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Text } from '@asyncapi/generator-react-sdk';
|
|
2
|
-
import { QueryParamsVariables } from '
|
|
2
|
+
import { QueryParamsVariables } from '@asyncapi/generator-components';
|
|
3
3
|
import { QueryParamsArgumentsDocs } from './QueryParamsArgumentsDocs';
|
|
4
4
|
import { InitSignature } from './InitSignature';
|
|
5
5
|
|
|
@@ -31,7 +31,10 @@ export function Constructor({ serverUrl, query}) {
|
|
|
31
31
|
${ query ? 'params = {}' : ''}`
|
|
32
32
|
}
|
|
33
33
|
</Text>
|
|
34
|
-
<QueryParamsVariables
|
|
34
|
+
<QueryParamsVariables
|
|
35
|
+
language="python"
|
|
36
|
+
queryParams={queryParamsArray}
|
|
37
|
+
/>
|
|
35
38
|
<Text newLines={2}>
|
|
36
39
|
{`
|
|
37
40
|
${query ? 'qs = urlencode(params) if params else ""' : ''}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"@asyncapi/generator-react-sdk": "*",
|
|
15
15
|
"@asyncapi/generator-helpers": "0.2.0",
|
|
16
|
-
"@asyncapi/generator-components": "0.
|
|
16
|
+
"@asyncapi/generator-components": "0.3.1"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@asyncapi/parser": "^3.0.14",
|
|
@@ -27,20 +27,6 @@
|
|
|
27
27
|
"eslint-plugin-react": "^7.34.1",
|
|
28
28
|
"eslint-plugin-sonarjs": "^0.5.0"
|
|
29
29
|
},
|
|
30
|
-
"jest": {
|
|
31
|
-
"moduleFileExtensions": [
|
|
32
|
-
"js",
|
|
33
|
-
"json",
|
|
34
|
-
"jsx"
|
|
35
|
-
],
|
|
36
|
-
"transform": {
|
|
37
|
-
"^.+\\.jsx?$": "babel-jest"
|
|
38
|
-
},
|
|
39
|
-
"moduleNameMapper": {
|
|
40
|
-
"^nimma/legacy$": "<rootDir>/../../../../../node_modules/nimma/dist/legacy/cjs/index.js",
|
|
41
|
-
"^nimma/(.*)": "<rootDir>/../../../../../node_modules/nimma/dist/cjs/$1"
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
30
|
"babel": {
|
|
45
31
|
"presets": [
|
|
46
32
|
"@babel/preset-env",
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const { readFile } = require('../../utils');
|
|
3
|
+
const log = require('loglevel');
|
|
4
|
+
const yaml = require('js-yaml');
|
|
5
|
+
|
|
6
|
+
const PRIMARY_CONFIG_FILE = '.ageneratorrc';
|
|
7
|
+
const SECONDARY_CONFIG_FILE = 'package.json';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Loads the template configuration and applies default values to template parameters.
|
|
11
|
+
* @async
|
|
12
|
+
* @param {string} templateDir - Path to the template directory
|
|
13
|
+
* @param {Object} templateParams - Template parameters object to populate with defaults
|
|
14
|
+
* @returns {Promise<Object>} Resolves with the loaded template configuration object
|
|
15
|
+
*/
|
|
16
|
+
async function loadTemplateConfig(templateDir, templateParams) {
|
|
17
|
+
let templateConfig = {};
|
|
18
|
+
|
|
19
|
+
// Try to load config from .ageneratorrc
|
|
20
|
+
try {
|
|
21
|
+
const rcConfigPath = path.resolve(templateDir, PRIMARY_CONFIG_FILE);
|
|
22
|
+
const rcContent = await readFile(rcConfigPath, { encoding: 'utf8' });
|
|
23
|
+
const yamlConfig = yaml.load(rcContent);
|
|
24
|
+
templateConfig = yamlConfig || {};
|
|
25
|
+
} catch (rcError) {
|
|
26
|
+
log.debug('Could not load .ageneratorrc file:', rcError);
|
|
27
|
+
// Try to load config from package.json
|
|
28
|
+
try {
|
|
29
|
+
const configPath = path.resolve(templateDir, SECONDARY_CONFIG_FILE);
|
|
30
|
+
const json = await readFile(configPath, { encoding: 'utf8' });
|
|
31
|
+
const generatorProp = JSON.parse(json).generator;
|
|
32
|
+
templateConfig = generatorProp || {};
|
|
33
|
+
} catch (packageError) {
|
|
34
|
+
log.debug('Could not load generator config from package.json:', packageError);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
loadDefaultValues(templateConfig, templateParams);
|
|
38
|
+
return templateConfig;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Loads default values of parameters from template config. If value was already set as parameter it will not be overriden.
|
|
43
|
+
* @param {Object} templateConfig Template configuration.
|
|
44
|
+
* @param {Object} templateParams Params specified when running generator.
|
|
45
|
+
* @returns {void}
|
|
46
|
+
*/
|
|
47
|
+
function loadDefaultValues(templateConfig, templateParams) {
|
|
48
|
+
const parameters = templateConfig.parameters;
|
|
49
|
+
const defaultValues = Object.keys(parameters || {}).filter(key => parameters[key].default);
|
|
50
|
+
|
|
51
|
+
defaultValues.filter(dv => !Object.prototype.hasOwnProperty.call(templateParams, dv)).forEach(dv =>
|
|
52
|
+
Object.defineProperty(templateParams, dv, {
|
|
53
|
+
enumerable: true,
|
|
54
|
+
get() {
|
|
55
|
+
return parameters[dv].default;
|
|
56
|
+
}
|
|
57
|
+
})
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
module.exports = {
|
|
62
|
+
loadTemplateConfig,
|
|
63
|
+
loadDefaultValues
|
|
64
|
+
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
const semver = require('semver');
|
|
2
2
|
const Ajv = require('ajv');
|
|
3
|
-
const { getGeneratorVersion } = require('
|
|
3
|
+
const { getGeneratorVersion } = require('../../utils');
|
|
4
4
|
const levenshtein = require('levenshtein-edit-distance');
|
|
5
5
|
// eslint-disable-next-line no-unused-vars
|
|
6
6
|
const {AsyncAPIDocumentInterface, AsyncAPIDocument} = require('@asyncapi/parser');
|
|
7
|
-
const { usesNewAPI } = require('
|
|
7
|
+
const { usesNewAPI } = require('../../parser');
|
|
8
8
|
|
|
9
9
|
const ajv = new Ajv({ allErrors: true });
|
|
10
10
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@asyncapi/generator",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.11.0",
|
|
4
4
|
"description": "The AsyncAPI generator. It can generate documentation, code, anything!",
|
|
5
5
|
"main": "./lib/generator.js",
|
|
6
6
|
"bin": {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"test:integration": "npm run test:cleanup && jest --testPathPattern=integration --modulePathIgnorePatterns='./__mocks__(?!\\/loglevel\\.js$)'",
|
|
19
19
|
"test:integration:update": "npm run test:integration -- -u",
|
|
20
20
|
"test:cleanup": "rimraf \"test/temp\"",
|
|
21
|
-
"docs": "jsdoc2md --partial docs/jsdoc2md-handlebars
|
|
21
|
+
"docs": "jsdoc2md --partial \"docs/jsdoc2md-handlebars/**/*.hbs\" --files lib/generator.js > docs/api.md",
|
|
22
22
|
"docker:build": "docker build -t asyncapi/generator:latest .",
|
|
23
23
|
"lint": "eslint --max-warnings 0 --config ../../.eslintrc --ignore-path ../../.eslintignore .",
|
|
24
24
|
"lint:fix": "npm run lint -- --fix",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"fs.extra": "^1.3.2",
|
|
69
69
|
"global-dirs": "^3.0.0",
|
|
70
70
|
"jmespath": "^0.15.0",
|
|
71
|
-
"js-yaml": "^
|
|
71
|
+
"js-yaml": "^4.1.1",
|
|
72
72
|
"levenshtein-edit-distance": "^2.0.5",
|
|
73
73
|
"loglevel": "^1.6.8",
|
|
74
74
|
"minimatch": "^3.0.4",
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
require('source-map-support/register');
|
|
6
|
-
var generatorReactSdk = require('@asyncapi/generator-react-sdk');
|
|
7
|
-
var jsxRuntime = require('/home/runner/work/generator/generator/node_modules/react/cjs/react-jsx-runtime.production.min.js');
|
|
8
|
-
|
|
9
|
-
function Connect({
|
|
10
|
-
title
|
|
11
|
-
}) {
|
|
12
|
-
return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
|
|
13
|
-
newLines: 2,
|
|
14
|
-
indent: 2,
|
|
15
|
-
children: `/// Method to establish a WebSocket connection
|
|
16
|
-
Future<void> connect() async {
|
|
17
|
-
if (_channel != null) {
|
|
18
|
-
print('Already connected to ${title} server');
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
try {
|
|
22
|
-
final wsUrl = Uri.parse(_url);
|
|
23
|
-
_channel = WebSocketChannel.connect(wsUrl);
|
|
24
|
-
print('Connected to ${title} server');
|
|
25
|
-
|
|
26
|
-
/// Listen to the incoming message stream
|
|
27
|
-
_channel?.stream.listen(
|
|
28
|
-
(message) {
|
|
29
|
-
if (_messageHandlers.isNotEmpty) {
|
|
30
|
-
for (var handler in _messageHandlers) {
|
|
31
|
-
_handleMessage(message, handler);
|
|
32
|
-
}
|
|
33
|
-
} else {
|
|
34
|
-
print('Message received: $message');
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
onError: (error) {
|
|
38
|
-
if (_errorHandlers.isNotEmpty) {
|
|
39
|
-
for (var handler in _errorHandlers) {
|
|
40
|
-
handler(error);
|
|
41
|
-
}
|
|
42
|
-
} else {
|
|
43
|
-
print('WebSocket Error: $error');
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
onDone: () {
|
|
47
|
-
_channel = null;
|
|
48
|
-
print('Disconnected from ${title} server');
|
|
49
|
-
},
|
|
50
|
-
);
|
|
51
|
-
} catch (error) {
|
|
52
|
-
print('Connection failed: $error');
|
|
53
|
-
rethrow;
|
|
54
|
-
}
|
|
55
|
-
}`
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
exports.Connect = Connect;
|
|
60
|
-
//# sourceMappingURL=Connect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Connect.js","sources":["../../../../../../../../packages/templates/clients/websocket/dart/components/Connect.js"],"sourcesContent":["import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function Connect({ title }) {\n return (\n <Text newLines={2} indent={2}>\n {`/// Method to establish a WebSocket connection\nFuture<void> connect() async {\n if (_channel != null) {\n print('Already connected to ${title} server');\n return;\n }\n try {\n final wsUrl = Uri.parse(_url);\n _channel = WebSocketChannel.connect(wsUrl);\n print('Connected to ${title} server');\n\n /// Listen to the incoming message stream\n _channel?.stream.listen(\n (message) {\n if (_messageHandlers.isNotEmpty) {\n for (var handler in _messageHandlers) {\n _handleMessage(message, handler);\n }\n } else {\n print('Message received: $message');\n }\n },\n onError: (error) {\n if (_errorHandlers.isNotEmpty) {\n for (var handler in _errorHandlers) {\n handler(error);\n }\n } else {\n print('WebSocket Error: $error');\n }\n },\n onDone: () {\n _channel = null;\n print('Disconnected from ${title} server');\n },\n );\n } catch (error) {\n print('Connection failed: $error');\n rethrow;\n }\n}`}\n </Text>\n );\n}"],"names":["Connect","title","_jsx","Text","newLines","indent","children"],"mappings":";;;;;;;;AAEO,SAASA,OAAOA,CAAC;AAAEC,EAAAA,KAAAA;AAAM,CAAC,EAAE;EACjC,oBACEC,cAAA,CAACC,sBAAI,EAAA;AAACC,IAAAA,QAAQ,EAAE,CAAE;AAACC,IAAAA,MAAM,EAAE,CAAE;AAAAC,IAAAA,QAAA,EAC1B,CAAA;AACP;AACA;AACA,gCAAA,EAAkCL,KAAK,CAAA;AACvC;AACA;AACA;AACA;AACA;AACA,wBAAA,EAA0BA,KAAK,CAAA;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAA,EAAmCA,KAAK,CAAA;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,CAAA,CAAA;AAAE,GACQ,CAAC,CAAA;AAEX;;;;"}
|