@anarock/api-typings

```bash yarn add @anarock/api-typings@https://github.com/anarock/anarock.api-typings#1.1.1 ```

Usage no npm install needed!

<script type="module">
  import anarockApiTypings from 'https://cdn.skypack.dev/@anarock/api-typings';
</script>

README

This projects helps in managing TypeScript typings and dummy API endpoints with all the possible outcomes.

Usage of typings

yarn add @anarock/api-typings@https://github.com/anarock/anarock.api-typings#1.1.1

Then in your code import required typings

import axios from "axios";
import { Countries } from "@anarock/api-typings/typings/meta-api-v0-countries";

function fetchCountries() {
  return axios<Countries>({
    url: `${META_SERVICE}api/v0/countries`
  });
}

Usage of Server

You can run the mock server after installing it as dep using

yarn anarock-mock-serve

To change the port, install cross-env and then

cross-env MOCK_SERVER_PORT=3001 anarock-mock-serve

Development.

  • Make sure you have node installed on your system.
  • Install yarn npm i -g yarn
  • clone the repo
  • Go into the repo and run yarn.

Then

  • yarn serve to serve dummy APIs.
  • yarn build to generate typings.

Writing Schema

Follow the structure: [serviceName]/api/v0/metadata.json.

Write your schema in the corresponding JSON file. I will write more about how to write a schema later. For now, you can see the two API examples. This supports JSON Schema draft 4 so make sure you use that. Even though you will find draft-07 written everywhere, the features used are of draft-04.

Dummy API

yarn serve

The server will run at http://localhost:3000 In the endpoint all the / are replaced by _. Just go to http://localhost:3000 and you will find all the URLs there.

Typings

Just like the dummy data, typings are generated automatically when you run yarn build.

Don't touch the following files as they are generated files.

  • db.json
  • typings/*
  • routes.json