Releases: mattpolzin/JSONAPI
Removed `Result` dependency entirely
I switched to a super stripped down Result
type that is internally scoped. This reduces friction with code that integrates this library, especially given that the Result
type was not ever being used for part of the public API of this library.
Support all major features of JSON API Spec v1.0
This library now hits all the major points for encoding/decoding JSON API Spec compliant documents. Definitely still room for improvement, and I think I will wait until I have used the library a bit more before I call it v1.0.
Fix Playground sources
0.7.1 Add some missing initializers for Entity and fix Playground sources.
Add `Meta` and `Links` to `Entity` (i.e. Resource Objects)
0.7.0 Update linuxmain
Make `SingleResourceBody` explicitly optional or not.
In previous versions, the PrimaryResource
inside a SingleResourceBody
was always optional. Now you can get that behavior by explicitly calling it optional, or you can specify that the PrimaryResource
should be .some
or else the document should fail to parse.
Little key improvements
- Better TestLib literal expressibility support.
- Remove silly typealias
JSONAPIDocument.BodyData
which pointed toJSONAPIDocument.Body.Data
- Expose initializer for
JSONAPIDocument.Body.Data
(most useful for testing purposes). - Add ReversibleTransformer (most useful for testing purposes).
- Add ability to differentiate between
EntityType
andEntityProxy
, the latter of which is intended to allow you to create clientside values that act likeEntityType
without accidentally calling those values "Entities," which is a word more or less reserved by this library to refer to values that are persisted between the server and client.
Let there be LEGIT `Id`s
Huge breaking change: I was able to get the Id
type wrangled such that it specializes on EntityType
rather than EntityDescription
.
This was always the goal but the Swift compiler gets mad about cyclic dependency unless things are done in juuuust the right way. I didn't know it was possible, but I found that right way tonight.
Expose Entity properties on EntityType protocol
0.4.4 Expose Entity properties on EntityType protocol.
Ids are now Hashable
0.4.3 Ids are now Hashable
Easier access to important types under JSONAPIDocument
0.4.2 A little renaming and easier access to important types under the JSON…