JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 7
  • Score
    100M100P100Q56745F
  • License MIT

axe-api-client is a native JavaScript client for Axe API servers.

Package Exports

  • axe-api-client
  • axe-api-client/build/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (axe-api-client) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme


Markdownify
Axe API Client
npm version

axe-api-client is a native JavaScript client for Axe API servers.

You can send insert, update, delete, and fetch data from Axe API servers without pain. axe-api-client has advanced query support with the active record pattern.

Config

import api, { IRequest } from "axe-api-client";

api.setConfig({
  baseURL: "https://bookstore.axe-api.com/api/v1",
  headers: {},
  params: {},
});

api.interceptors.addRequest((request: IRequest) => {
  return request;
});

api.interceptors.addResponse((response: Response) => {
  // console.log(response);
});

Insert

const response = await api.resource("users").insert({
  name: "Karl",
  surname: "Popper",
});

Update

const response = await api.resource("users").update({
  name: "Karl",
  surname: "Popper",
});

Patch

const response = await api.resource("users").patch({
  name: "Karl",
  surname: "Popper",
});

Delete

const response = await api.resource("users").delete();

Query

import api from "axe-api-client";

const data = await api.resource("users").paginate();

Fields

const response = await api
  .resource("users")
  .fields("name", "surname", "email")
  .paginate();

Sorting

const response = await api
  .resource("users")
  .fields("name", "surname", "email")
  .sort("name")
  .sort("surname", "DESC")
  .sort("email", "ASC")
  .paginate();

Limits

const response = await api.resource("users").paginate({ page: 1, perPage: 25 });

First

const response = await api.resource("users").first();

Where Conditions

const response = await api.resource("users").where("age", 18).paginate();
const response = await api
  .resource("users")
  .where("age", ">=", 18)
  .where("name", "Karl")
  .paginate();
const response = await api
  .resource("users")
  .where("age", ">=", 18)
  .orWhere("name", "Karl")
  .paginate();
const response = await api
  .resource("users")
  .where("age", ">=", 18)
  .andWhere("name", "Karl")
  .paginate();
const response = await api
  .resource("users")
  .where((query) => {
    query.where("name", "Karl").where("surname", "Popper");
  })
  .orWhere("age", ">=", 18)
  .paginate();
const response = await api
  .resource("users")
  .where("age", "IN", [18, 19, 20])
  .paginate();

All the operators should be able to used.

const response = await api
  .resource("users")
  .with("posts{comments{id|content}}")
  .paginate();

Quick where functions

We can use the following query where functions:

  • whereNot("id", 1)
  • whereLike("name", "*john*")
  • whereNotLike("name", "*john*")
  • whereIn("type", [1, 2, 3])
  • whereNotIn("type", [1, 2, 3])
  • whereBetween("type", 1, 3)
  • whereNotBetween("type", 1, 3)
  • whereNull("age")
  • whereNotNull("age")

License

MIT License