Socket
Socket
Sign inDemoInstall

@wiredmartians/whatsamenu-node

Package Overview
Dependencies
18
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @wiredmartians/whatsamenu-node

Whatsamenu Nodejs API Client


Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

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

Keywords

FAQs

Last updated on 10 Dec 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc