2 changed files with 55 additions and 58 deletions
@ -0,0 +1,55 @@ |
|||
/** |
|||
* |
|||
*/ |
|||
class ObjectAccessObject { |
|||
/** |
|||
* |
|||
* @param {Object} object |
|||
*/ |
|||
constructor(object = null) { |
|||
/** |
|||
* @type {Array<string>} |
|||
*/ |
|||
this.keys = (object ? Object.keys(object) : []); |
|||
/** |
|||
* @type {Object} |
|||
*/ |
|||
this.objects = (object ? object : {}); |
|||
} |
|||
|
|||
/** |
|||
* |
|||
* @param {Array<string>} keyArr |
|||
* @param {Object} refObject |
|||
* @returns |
|||
*/ |
|||
fillByArrayReference(keyArr, refObject) { |
|||
this.keys = keyArr; |
|||
refObject = keyArr.reduce((a, c) => Object.assign(a, { [c]: refObject[c] }), {}); |
|||
return this; |
|||
} |
|||
|
|||
/** |
|||
* |
|||
* @param {string} key |
|||
* @param {*} value |
|||
* @returns {ObjectAccessObject} |
|||
*/ |
|||
add(key, value) { |
|||
this.objects[key, value]; |
|||
this.keys.push(key); |
|||
return this; |
|||
} |
|||
|
|||
/** |
|||
* |
|||
* @param {string} key |
|||
* @returns {*} |
|||
*/ |
|||
remove(key) { |
|||
let tmp = this.objects[key]; |
|||
delete this.objects[key]; |
|||
return tmp; |
|||
} |
|||
|
|||
} |
@ -1,61 +1,3 @@ |
|||
|
|||
|
|||
/** |
|||
* |
|||
*/ |
|||
class ObjectAccessObject { |
|||
/** |
|||
* |
|||
* @param {Object} object |
|||
*/ |
|||
constructor(object = null) { |
|||
/** |
|||
* @type {Array<string>} |
|||
*/ |
|||
this.keys = (object ? Object.keys(object) : []); |
|||
/** |
|||
* @type {Object} |
|||
*/ |
|||
this.objects = (object ? object : {}); |
|||
} |
|||
|
|||
/** |
|||
* |
|||
* @param {Array<string>} keyArr |
|||
* @param {Object} refObject |
|||
* @returns |
|||
*/ |
|||
fillByArrayReference(keyArr, refObject) { |
|||
this.keys = keyArr; |
|||
refObject = keyArr.reduce((a, c) => Object.assign(a, { [c]: refObject[c] }), {}); |
|||
return this; |
|||
} |
|||
|
|||
/** |
|||
* |
|||
* @param {string} key |
|||
* @param {*} value |
|||
* @returns {ObjectAccessObject} |
|||
*/ |
|||
add(key, value) { |
|||
this.objects[key, value]; |
|||
this.keys.push(key); |
|||
return this; |
|||
} |
|||
|
|||
/** |
|||
* |
|||
* @param {string} key |
|||
* @returns {*} |
|||
*/ |
|||
remove(key) { |
|||
let tmp = this.objects[key]; |
|||
delete this.objects[key]; |
|||
return tmp; |
|||
} |
|||
|
|||
} |
|||
|
|||
/** |
|||
* |
|||
* @param {Object | Array<Object>} singleOrArray |
Loading…
Reference in new issue