A Node.js client for WhatsAMenu API
Make sure your node environment is setup
This package assumes you already have an API Key. If you don't have one, you can go to wiredmartians.com to create one or use http endpoint to create a key
Using npm:
$ npm install @wiredmartians/whatsamenu-node
Using yarn:
$ yarn add @wiredmartians/whatsamenu-node
API_KEY = <your api key>
API_BASE_URL=https://whatsamenu.core.wiredmartians.com/v1
This lib currently uses only axios for http requests
import { DefaultMenuHttpClient } from "@wiredmartians/whatsamenu-node"
// setup an axios client
const apiKey = process.env.API_KEY
const baseURL = process.env.BASE_URL
const client = DefaultMenuHttpClient.create({
baseURL,
headers: {
"X-API-Key": apiKey
}
})
A bootstrapped Whatsamenu API will return a singleton which can be used call other object functions
import { MenuAPI } from "@wiredmartians/whatsamenu-node"
// bootstrap menuApi, passing the axios client
const { menuApi } = new MenuAPI(client)
// make requests
menuApi.restaurant
.getRestaurants()
.then((res) => console.log(res))
.catch((err) => console.error(err))
import { Restaurant } from "@wiredmartians/whatsamenu-node/restaurant"
// pass the axios client
const restaurant = new Restaurant(client)
// make requests
restaurant
.getRestaurants()
.then((res) => console.log(res))
.catch((err) => console.error(err))
import { AxiosInstance } from "axios"
import { DefaultMenuHttpClient, MenuAPI } from "@wiredmartians/whatsamenu-node"
import { Restaurant, RestaurantResult } from "@wiredmartians/whatsamenu-node/restaurant"
const apiKey = process.env.API_KEY
const baseURL = process.env.API_BASE_URL
const client: AxiosInstance = DefaultMenuHttpClient.create({
baseURL,
headers: {
"X-API-Key": apiKey
}
})
const { menuApi } = new MenuAPI(client)
const restaurant: Restaurant = menuApi.restaurant
restaurant.getRestaurants()
.then((res: RestaurantResult[]) => console.log(res))
.catch((err) => console.error(err))