1.0.1 • Published 12 months ago

exact-response v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
12 months ago

Exact Response

Its a simple graphql type alternative for any rest api.

Any query

contact me on Linkedin kundan kumar .

Installation

npm install exact-response

Usage

BY GET METHOD
http://localhost:4000/api?myCustomQry='name,email,address.city'
                         OR
BY POST METHOD
http://localhost:4000/api

//pass your identifier in body and post it

body:{
"myCustomQry":"name,email,address"
}
                           OR
By Custom header
//If you don't want show query in url you can also set header
axios.get('https://example.com/getSomething', {
 headers: {
  "myCustomQry":"name,email,address"
 }
})
import {exactResponse, exactData} from 'exact-response'

routes.get('/',(req:Request,res:Response,next:NextFunction)=>{
try{
let data=[
  {
    "id": 1,
    "name": "Leanne Graham",
    "username": "Bret",
    "email": "Sincere@april.biz",
    "address": {
      "street": "Kulas Light",
      "city": "Gwenborough",
    }
  },
  {
    "id": 2,
    "name": "Ervin Howell",
    "username": "Antonette",
    "email": "Shanna@melissa.tv",
    "address": {
      "street": "Victor Plains",
      "city": "Wisokyburgh"
    }
}]

return res.json(exactResponse(req,data,'myCustomQry'));

/**
  it will return data what you exactly want
   Nothing more nothing less 

 [{
    "name": "Leanne Graham",
    "username": "Bret",
    "address": {
      "city": "Gwenborough",
    }
  },
  {
    "name": "Ervin Howell",
    "username": "Antonette",
     "address": {
      "city": "Wisokyburgh"
    }
  }]  **/
}catch(err){
next(err);
})
//response with any data
import {exactResponse, exactData} from 'exact-response'

let data=[
  {
    "userId": 1,
    "id": 1,
    "title": "delectus aut autem",
    "completed": false
  },
  {
    "userId": 1,
    "id": 2,
    "title": "quis ut nam facilis et officia qui",
    "completed": false
  },
  {
    "userId": 1,
    "id": 3,
    "title": "fugiat veniam minus",
    "completed": false
  }
];

let qry="id,title";

console.log(exactData(qry,data))
/* It will return which you needed

[
  {
    "id": 1,
    "title": "delectus aut autem"
  },
  {
    "id": 2,
    "title": "quis ut nam facilis et officia qui",
  },
  {
    "id": 3,
    "title": "fugiat veniam minus",
  }
];
*/

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT