Skip to content

An extension to ampersand-model that adds methods and properties for working with JSON-API.

License

Notifications You must be signed in to change notification settings

bobholt/ampersand-jsonapi-model

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ampersand-jsonapi-model

AmpersandJSONAPIModel is a JSON-API-compatible extension of the AmpersandJS Model.

It achieves this JSON-API compatibility by overriding select methods within ampersand-model and adding appropriate HTTP headers to requests.

Installing

npm install ampersand-jsonapi-model

API Reference

Except as described below, AmpersandJSONAPIModel has the same interface as AmpersandModel and AmpersandState.

To ensure this, AmpersandJSONAPIModel passes all tests for AmpersandModel (version 6.0.2).

The following methods have been overridden:

getAttributes model.getAttributes([options, raw])

This adds additional options for returning children and collections along with the standard session, props, and derived options.

parse model.parse(data)

This has been augmented to parse JSON-API formatted data: specifically a format in which model attributes are nested within the structure { data: { attributes: {} } }.

save model.save([attributes], [options])

This has been augmented in order to handle the special structure and additional relationship data included in saving to a JSON-API-compatible server.

serialize model.serialize()

This has been augmented in order to serialize data into the correct format expected by JSON-API.

About

An extension to ampersand-model that adds methods and properties for working with JSON-API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published