0.0.3 • Published 4 years ago

apitizer v0.0.3

Weekly downloads
2
License
MIT
Repository
github
Last release
4 years ago

Build Status Maintainability Test Coverage

apitizer

apitizer is inspired by restful.js, but is written in typescript with a slightly different and smaller api.

It allows you to access restul backends with a chainable, functional design. The actual side effects are rxjs driven and allows you to integrate nicely with your own observables.

I've put heavy focus on delightful generics to make everyones life with foreign data just a little bit easier.

Documentation

Installation

yarn add apitizer

or

npm install apitizer

Quick Overview

import { create } from 'apitizer';

interface CategoryData {
  name: string;
}

interface Category extends CategoryData {
  readonly id: number;
}

interface ItemData {
  title: string;
  content: string;
}

interface Item extends ItemData {
  readonly id: number;
}

const api = create('http://myapi.com');
const categories = api.resource<Category, CategoryData>('categories');

categories.url(); // http://myapi.com/categories
categories.query({ active: true }).url(); // http://myapi.com/categories?active=true
categories.one(1).url(); // http://myapi.com/categories/1
categories.one(1).get(); // Observable<Category>
categories.post({ name: 'apitizer' }); // Observable<Category>

const items = categories.one(1).resource('items');

items.url(); // http://myapi.com/categories/1/items

A full documentation fill follow asap.

0.0.3

4 years ago

0.0.2

4 years ago

3.0.0

4 years ago

0.0.7

4 years ago