Skip to content

A simple node script to convert postman collections to clean REST client libs for node.

License

Notifications You must be signed in to change notification settings

Phara0h/Postgen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

A postman collection of the service:

https://www.npmjs.com/package/waspswithbazookas

Generated a class structure:

WaspsWithBazookas
    |
    |___Hive
    |___Wasps
    |___Wasp

Example use of the generation.

const 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)

Samples

See the samples folder for the collection used and the generated API from that collection.

Travelling Service

A postman collection of the service:

https://www.npmjs.com/package/waspswithbazookas

Generated a class structure:

Travelling
    |
    |___Auth
    |___Groups
    |___User
         |____Current

Example use of the generation.

const 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 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.