A suite to track Project Diva score statistics and ratings / D4DJ event data.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
projectdivar/server/node_modules/pg-promise/lib/inner-state.js

39 lines
1016 B

const {addReadProp} = require(`./utils`);
/**
* @private
* @class InnerState
* @description
* Implements support for private/inner state object inside the class,
* which can be accessed by a derived class via hidden read-only property _inner.
*/
class InnerState {
constructor(initialState) {
addReadProp(this, `_inner`, {}, true);
if (initialState && typeof initialState === `object`) {
this.extendState(initialState);
}
}
/**
* Extends or overrides inner state with the specified properties.
*
* Only own properties are used, i.e. inherited ones are skipped.
*/
extendState(state) {
for (const a in state) {
// istanbul ignore else
if (Object.prototype.hasOwnProperty.call(state, a)) {
this._inner[a] = state[a];
}
}
}
}
/**
* @member InnerState#_inner
* Private/Inner object state.
*/
module.exports = {InnerState};