sugo-hub
Version:
Hub server of SUGOS
40 lines (34 loc) • 556 B
JavaScript
/**
* Abstract entity
* @abstract
* @class Entity
*/
/** @lends Entity */
class Entity {
constructor (props) {
const s = this
Object.assign(s, props)
if (!s.key) {
throw new Error('key is required.')
}
}
/**
* Set values
* @param {Object} values
*/
set (values) {
const s = this
Object.assign(s, values)
}
/**
* Delete value
* @param {string} propName
*/
del (propName) {
const s = this
delete s[ propName ]
}
}
Object.assign(Entity, {})
module.exports = Entity