@monade/json-api-parser
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

Tests

@monade/json-api-parser

A parser for JSON:API format that maps data to models using decorators, inspired by retrofit.

Installation

  npm install @monade/json-api-parser

Example usage

import { Attr, JSONAPI, Model, Rel } from "@monade/json-api-parser";

export const DateParser = (data: any) => new Date(data);

@JSONAPI("posts")
export class Post extends Model {
  @Attr() name!: string;
  @Attr("description") content!: string;
  @Attr("created_at", { parser: DateParser }) createdAt!: Date;
  @Attr("active", { default: true }) enabled!: boolean;
  @Attr() missing!: boolean;

  @Rel("user") author!: User;
  @Rel() reviewer!: User | null;
}

@JSONAPI("users")
class User extends Model {
  @Attr() firstName!: string;
  @Attr() lastName!: string;
  @Attr("created_at", { parser: DateParser }) createdAt!: Date;

  @Rel() favouritePost!: Post;
}

TODO

  • Documentation
  • Edge case tests

Readme

Keywords

none

Package Sidebar

Install

npm i @monade/json-api-parser

Weekly Downloads

16

Version

1.0.2

License

MIT

Unpacked Size

17.3 kB

Total Files

20

Last publish

Collaborators

  • monadestudio
  • progm