Releases: tobyzerner/json-api-models
Releases · tobyzerner/json-api-models
Release 0.2.0-beta.3
Added
- Allow syncing
null
document data. - Add
exports
field to package.json.
Release 0.2.0-beta.1
⚠️ Breaking Changes
-
Rewrite TypeScript support to allow Intellisense based on JSON:API resource schema. For example:
type UsersSchema = { type: 'users'; id: string; attributes: { name: string; }; relationships: { dog: { data?: { type: 'dogs'; id: string } | null }; }; }; class User extends Model<UsersSchema> {}
To type related resources, you can provide a collection of all models as the second generic.
type DogsSchema = { // ... }; type Schemas = { users: User; dogs: Dog; }; class User extends Model<UsersSchema, Schemas> {} class Dog extends Model<DogsSchema, Schemas> {}
-
The
Store
now returns proxiedModel
instances to implement field getters, instead ofModel
depending onStore
and defining getters for present fields. -
Remove the
Query
helper. UseURLSearchParams
instead. -
Remove
Model
attribute casting functionality. Define getters instead:class User extends Model<UserSchema> { get createdAtDate() { return new Date(this.createdAt); } }
-
Remove the
Model.getAttribute()
andModel.getRelationship()
methods. -
Remove CJS and IIFE exports. Package is now only exported as an ES module.
Release 0.1.0-beta.8
Added
- Support model type inference:
const store = new Store({ users: User });
store.find('users', '1') // User
Removed
- Remove the
Store.model
method. Models must now be defined when the Store is constructed.
Release 0.1.0-beta.7
Fixed
- Fix regression with attribute casting not handling dates correctly, and add more sophisticated handling of primitives, constructables, and callables.
Release 0.1.0-beta.6
Fixed
- Fix attribute cast type definition and invoke as function rather than with
new
.
Release 0.1.0-beta.5
Added
- Query: add
append
,set
, anddelete
methods. - Export useful JSON:API types:
JsonApiDocument
,JsonApiIdentifier
,JsonApiResource
,JsonApiRelationships
, andJsonApiRelationship
.
Removed
- Query: remove
push
method.
Release 0.1.0-beta.4
Fixed
- Fix casts not working correctly.
Release 0.1.0-beta.3
Added
- Added ability to define typecasts for attributes on custom models.
Changed
- Change compilation target to
es2017
forObject.entries
support.
v0.1.0-beta.1
Recompile