2.0.1 • Published 1 year ago

reflect-client v2.0.1

Weekly downloads
-
License
MPL-2.0
Repository
-
Last release
1 year ago

Reflect API client for JavaScript

Make requests to an API built using the Reflect API framework over HTTP with JavaScript.


import { default as Client } from "./reflect-client/Reflect.js";

const api = new Client("https://api.example.com", "myApiKey");

// GET: https://api.example.com/my/endpoint?foo=bar
api.call("my/endpoint").params({foo: bar}).get(); // Returns: Promise<Response>

Supported browsers/environments:

Chrome-iconChromeFirefox_logo,_2019 svgFirefoxSafari_browser_logo svgSafariimageNodeJSdenoDeno
✅ 80+✅ 75+✅ 14.1+✅ 20.7.0+✅ 1.37.0+

How to use

  1. Install with npm

    npm i reflect-client
  2. Initialize the class

    import { Client, Method } from "./reflect-client/Reflect.js";
    
    const api = new Client(base_url: string, api_key: string|null = null);

    Example

    const api = new Client("https://api.example.com", "exampleApiKey");

Make API requests

Defining an endpoint

Start a new API call by chaining the call() method and passing it an endpoint string

Client.call(endpoint: string): ThisType<this>

Example:

api.call("my/endpoint")

(Optional) Search Parameters

Pass an object of keys and values to params(), and chain it anywhere before a get(), patch(), put(), post(), or delete() request to set search parameters for the current request.

Client.params(params: object): ThisType<this>

Example:

// https://api.example.com/my/endpoint?key1=value1&key2=value2
api.call("my/endpoint")
  .params({
    key1: "value1",
    key2: "value2"
  });

GET Request

Make a GET request by chaining get() at the end of a method chain. This method will return a Response object.

Client.get(): Promise<Response>

Example:

api.call("my/endpoint").params({foo: "bar"}).get();

POST Request

Make a POST request by chaining post() at the end of a method chain. This method will return a Response object.

Pass post() a stringifiable object of key, value pairs to be sent as an application/json-encoded request body to the endpoint.

Client.post(payload: object|null = null): Promise<Response>

Example:

api.call("my/endpoint").params({foo: "bar"}).post({baz: "qux"});

PATCH Request

Make a PATCH request by chaining patch() at the end of a method chain. This method will return a Response object.

Pass patch() a stringifiable object of key, value pairs to be sent as an application/json-encoded request body to the endpoint.

Client.patch(payload: object|null = null): Promise<Response>

Example:

api.call("my/endpoint").params({foo: "bar"}).patch({baz: "qux"});

PUT Request

Make a PUT request by chaining put() at the end of a method chain. This method will return a Response object.

Pass put() a stringifiable object of key, value pairs to be sent as an application/json-encoded request body to the endpoint.

Client.put(payload: object|null = null): Promise<Response>

Example:

api.call("my/endpoint").params({foo: "bar"}).put({baz: "qux"});

DELETE Request

Make a DELETE request by chaining delete() at the end of a method chain. This method will return a Response object.

Pass delete() a stringifiable object of key, value pairs to be sent as an application/json-encoded request body to the endpoint.

Client.delete(payload: object|null = null): Promise<Response>

Example:

api.call("my/endpoint").params({foo: "bar"}).delete();

OPTIONS Request

Make an OPTIONS request by chaining get() at the end of a method chain. This method will return a Response object.

Use this method to query Reflect for available request methods.

Client.options(): Promise<Response>

Example:

api.call("my/endpoint").options();

Development

NodeJS required version: 20.7.0+

TypeScript required version: 5.2.2+

2.0.1

1 year ago

2.0.0

1 year ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.2

2 years ago

1.1.0-beta.1

2 years ago

1.1.0-beta.0

2 years ago

1.0.0

2 years ago