Pregunta

I am evaluating JS persistence libraries. I'm on an Angular stack so ngResource and Restangular are options, but so are Breeze and Backbone's Models/collections and I'm open to others.

Is there a JS persistence library out there that will monitor changes to the model and do a PATCH of only the changed properties?

Example:

// Get a pretend user with a name, email, and some other stuff.
var currentUser = user.get(42)
// Change only the email address
currentUser.email = 'tractorDaddy@aol.com'
// Save changes
// The model could know that only one property has changed.
// The model could do a PATCH of a partial object, but I don't know a library that does.
currentUser.save() 

This seems like it should be the default implementation but none of these libraries do it, that I could see.

Backbone's model decides whether to POST or PUT based on the newness of the model (determined by presence of id, as I recall). I think this is a nice move and could be extended to include PATCH.

I understand that Restangular and others have a .patch() method, but I believe in all cases you have to specify the object partial explicitly.

Is there a library that does this?

¿Fue útil?

Solución

I think there is no existing JS model/persistence layer that will track and PATCH only change values.

I have high hopes for AngularJS 2.0's data layer: http://tinyurl.com/pa7rxf8

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top