ember-jsonapi-resources
ember-jsonapi-resources copied to clipboard
Promise aware to one object proxy
This is somewhat related to https://github.com/pixelhandler/ember-jsonapi-resources/pull/141.
related proxy's are promise/able, except when they're not. Empty relationships do not support promises, so you can't always go model.get('some-relationship').then(relationship => { if (relationship) { // we have a relationship }) because there is no then for empty relationships.
Again, no tests for this (except that the current tests don't break). I will eventually add some, but I need to get my actual Ember app going, so I'm currently just collecting bugs and fixes. (if all these PRs and communication is not useful I can stack all these changes/bugs/issues/fixes on my own fork and discuss them later).
@andrewmp1 originally the different between an relationship with a promise and one without was our apps flow for creating new records. In that case we were adding relationships that were not promise aware just referenced in the relationships property (object) of the model.
@aars I think you are correct there is a gap between an empty relation and an async one. Maybe all relations should use the proxy to be consistent. An empty relationship could be the promise proxy but resolved with content as null
@pixelhandler Going with a proxy for empty objects will also tackle the "cached relationship" issue. Good call. I'll send in a new PR for that.