gallery.accords-library.com/client/js/models/snapshot.js

41 lines
1022 B
JavaScript

'use strict';
const api = require('../api.js');
const events = require('../events.js');
class Snapshot extends events.EventTarget {
constructor() {
super();
this._orig = {};
this._updateFromResponse({});
}
get operation() { return this._operation; }
get type() { return this._type; }
get id() { return this._id; }
get user() { return this._user; }
get data() { return this._data; }
get time() { return this._time; }
static fromResponse(response) {
const ret = new Snapshot();
ret._updateFromResponse(response);
return ret;
}
_updateFromResponse(response) {
const map = {
_operation: response.operation,
_type: response.type,
_id: response.id,
_user: response.user,
_data: response.data,
_time: response.time,
};
Object.assign(this, map);
}
}
module.exports = Snapshot;