Skip to content

akparhi/queryframe-lite

Repository files navigation

NPM Contributors Forks Stargazers Issues MIT License

Documentation

This library implements a highly opinionated way of fetching and managing API data.

Queryframe lite is a typesafe API SDK generator for REST endpoints.

Tech

Queryframe uses a number of open source projects under the hood:

  • Zod - for schemas
  • Zocker - 2kb library to generate mock data
  • Redaxios - minimal fetch wrapper with axios interface

Installation

Install the dependencies and follow the guide below.

pnpm add @inkheart/queryframe-lite

Example Usage

import { createQueryframeBuilder, z } from '@inkheart/queryframe-lite'

const builder = createQueryframeBuilder({
  baseURL: 'https://api.sampleapis.com',
})

const getAvatars = builder.createQuery({
  endpoint: '/avatar/info',
  output: z
    .object({
      synopsis: z.string(),
    })
    .array(),
})

const { queryframe } = builder.createQueryframe({
  getAvatars,
})

export default queryframe

Handle interface

import queryframe from '...'

try {
  const result = await queryframe.getExpenseCategories.handle({})
} catch (error) {
  console.error(error)
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published