Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/phara0h/postgen
A simple node script to convert postman collections to clean REST client libs for node.
https://github.com/phara0h/postgen
cli code generate-code generator hacktoberfest node-js postman postman-collection
Last synced: 18 days ago
JSON representation
A simple node script to convert postman collections to clean REST client libs for node.
- Host: GitHub
- URL: https://github.com/phara0h/postgen
- Owner: Phara0h
- License: gpl-3.0
- Created: 2019-08-22T15:32:28.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-09-28T16:44:58.000Z (about 1 year ago)
- Last Synced: 2024-04-23T02:07:37.066Z (7 months ago)
- Topics: cli, code, generate-code, generator, hacktoberfest, node-js, postman, postman-collection
- Language: JavaScript
- Homepage:
- Size: 18.1 MB
- Stars: 4
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Postgen
A simple node script to convert postman collections to clean REST client libs for node.
## Install
```
npm install -g postgen
```## How to use
* Export your collection from postman as a `v2.1` collection.
* `cd` into your projects root folder that you want to use the client with.
* Install `fasquest` as it is the only dependency of the generated client.
```
npm install --save fasquest
```
* Run postgen for node SDK generation
```
postgen /path/to/postman/collection.js > YourApi.js
```* Run postgen for web SDK generation
```
postgen /path/to/postman/collection.js web > YourApi.js
```* View the examples on how to use your newly generated lib.
## Examples
### [Wasps with Bazookas](https://github.com/Phara0h/WaspsWithBazookas) Service
A postman collection of the service:
#### Generated a class structure:
```
WaspsWithBazookas
|
|___Hive
|___Wasps
|___Wasp
```#### Example use of the generation.
```jsconst WaspsWithBazookas = require('./WaspsWithBazookasAPI.js')(
'https://127.0.0.1:4269' // the url to service with no trailing /
);// Start loadtest for 1second
WWB.Hive.HivePoke({
"t": "10",
"c": "50",
"d": "1",
"target": "http://127.0.0.1:4269/hive/status"
}).then(response=>{
console.log(response)
})// Wait 2 seconds and show the report
setTimeout(async ()=>{
console.log((await WWB.Hive.HiveStatusReport()))
},2000)```
#### SamplesSee the [samples](https://github.com/Phara0h/Postgen/blob/master/samples/) folder for the collection used and the generated API from that collection.
### [Travelling](https://github.com/abeai/travelling) Service
A postman collection of the service:
#### Generated a class structure:
```
Travelling
|
|___Auth
|___Groups
|___User
|____Current
```#### Example use of the generation.
```jsconst Travelling = require('./TravellingAPI.js')(
'https://127.0.0.1:6969' // the url to service with no trailing /
);Travelling.Auth.login({
"username":"test",
"password":"password1234"
}).then(response=>{
console.log(response)
})```
#### Samples
See the [samples](https://github.com/Phara0h/Postgen/blob/master/samples/) folder for the collection used and the generated API from that collection.
## Further Development
The code to do the generation is just some hacky code busted out in a hour. I would love help cleaning it up and making it more feature rich.