@wiredmartians/whatsamenu-node
TypeScript icon, indicating that this package has built-in type declarations

0.0.3-rc-1 • Public • Published

Whatsamenu Node

A Node.js client for WhatsAMenu API

Run in Postman

Getting Started

Make sure your node environment is setup

API Key

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

Status

publish

Installation

Using npm:

$ npm install @wiredmartians/whatsamenu-node

Using yarn:

$ yarn add @wiredmartians/whatsamenu-node

Example

.env
API_KEY = <your api key>
API_BASE_URL=https://whatsamenu.core.wiredmartians.com/v1

Axios Client

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

Using bootstrapped API

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

Using indivisual modules

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

TypeScript usage

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

Package Sidebar

Install

npm i @wiredmartians/whatsamenu-node

Weekly Downloads

2

Version

0.0.3-rc-1

License

MIT

Unpacked Size

58.7 kB

Total Files

57

Last publish

Collaborators

  • wired_martian