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 |
* @param {Object | Array<Object>} singleOrArray |
Loading…
Reference in new issue