0.4.4 • Published 8 months ago

@matchlighter/decsera v0.4.4

Weekly downloads
-
License
MIT
Repository
-
Last release
8 months ago

Decsera (Previously @matchlighter/mobx_model)

A modern decorator-based, extensible library for building client-side data models for easy hydration of JSON data.

Defining Models

import { Model, field } from '@matchlighter/decsera';

class User extends Model {
    @field full_name: string;
    @field({ /* options */ }) username: string;

    @collection({ type: 'local' }) projects: Project[] = [];
}

MobX

This library was originally built with MobX support built in out of the box. However, MobX support was refactored to a separate module before the first public release. MobX support can be enabled like such:

// ES6
import "@matchlighter/decsera/mobx"; // Must be placed *before* any other imports of DecSera

// CommonJS
require('@matchlighter/decsera/mobx');

With MobX support enabled,

  • @field automatically applies MobX @observable
  • @observable / @computed are automatically applied in other appropriate locations
  • Some other optimizations are made for supporting MobX & other features
0.4.4

8 months ago

0.4.3

8 months ago

0.4.2

8 months ago

0.4.1

8 months ago

0.4.0

8 months ago