Comments (13)
Just to keep track, here are some isomorphic runtime libraries (not codegen) which allow dynamic client creation within JS/TS for OpenAPI:
Something similar is what I was intending for AsyncAPI with this issue, here an example from openapi-client-axios:
import OpenAPIClientAxios from 'openapi-client-axios'
const api = new OpenAPIClientAxios({ definition: 'https://example.com/api/openapi.json' })
api.init()
async function createPet() {
const client = await api.getClient()
const res = await client.createPet(null, { name: 'Garfield' })
console.log('Pet created', res.data)
}
from glee.
And in a similar fashion but from the server point of view: https://github.com/anttiviljami/openapi-backend.
from glee.
Yeah, I can work on other stuff first. I'm actually adding tests now so it may help you refactor the code too.
from glee.
Welcome to AsyncAPI. Thanks a lot for reporting your first issue. Please check out our contributors guide and the instructions about a basic recommended setup useful for opening a pull request.
Keep in mind there are also other channels you can use to interact with AsyncAPI community. For more details check out this issue.
from glee.
According to comments in this slack thread, Glee already implements the functionality to generate clients and servers internally.
Some discussed options for making client/server generation code available for dynamic generation of clients/servers were:
- Export to standalone (isomorphic) library and publish as npm package, for Glee to consume as dependency
- Expose client/server generation code within the Glee framework, to be consumed as a library (no additional package)
Useful comments by @fmvilas:
- this functionally is somehow baked into Glee right now
- so far, Glee can generate MQTT clients and WebSocket servers
- making this isomorphic will be very difficult
- still, only HTTP and WebSocket clients are usually used
from glee.
@miguelrk would you be willing to open a PR for this issue? I'm happy to guide you as needed.
from glee.
Yes! I'd be glad to, just need to finish some other stuff first. Mind keeping this open for a while? 😀
from glee.
This issue has been automatically marked as stale because it has not had recent activity 😴
It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.
There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.
Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.
Thank you for your patience ❤️
from glee.
This issue has been automatically marked as stale because it has not had recent activity 😴
It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.
There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.
Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.
Thank you for your patience ❤️
from glee.
@miguelrk are you still interested in contributing this?
from glee.
Hey! I'm still interested but don't really have the time at the moment. Feel free to close this if you want
from glee.
I think it's still an interesting concept to explore. Maybe someone else wants to pick it up?
from glee.
This issue has been automatically marked as stale because it has not had recent activity 😴
It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.
There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.
Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.
Thank you for your patience ❤️
from glee.
Related Issues (20)
- handling request error for websocket connection HOT 1
- Support for Multiple .env Files HOT 4
- Improve Stability in Glee by Handling Message and Connection Failures HOT 3
- Internal nodejs error while running the example app HOT 8
- Apply `default` property to event fields HOT 4
- Update Kafka Adapter to support spec v3 HOT 2
- Improved Error Messaging for Missing Auth Function HOT 4
- Spread syntax requires HOT 2
- but this path is not defined in your AsyncAPI file - Caused by trailing slash HOT 6
- Unable to send message with glee when payload is an object with an allOf of two or more objects HOT 5
- MQTT channel seems to be using wrong topic when sending message HOT 1
- Parameters in channel address not used HOT 3
- Divide "Maintainer" role into two categories: Triager and Committer HOT 3
- [BUG] It does not support non-ssl Kafka Brokers HOT 2
- [BUG] Glee subscribes to topics using channel names instead of "channel.address" (v3) HOT 8
- [FEATURE] Run Glee in a container HOT 2
- [FEATURE] invoke send action for operation in v3 HOT 2
- [FEATURE] Investigate bun if it's right for glee HOT 10
- extract glee-core from glee HOT 4
- [FEATURE] The future of glee as a framework HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from glee.