Skip to content

Commit

Permalink
refactor:redundant methods
Browse files Browse the repository at this point in the history
  • Loading branch information
zerooverture committed Apr 29, 2020
1 parent fa8528d commit b9f7f46
Showing 1 changed file with 17 additions and 38 deletions.
55 changes: 17 additions & 38 deletions src/plugin/objectSupport/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,56 +29,35 @@ export default (o, c) => {

const oldParse = proto.parse
proto.parse = function (cfg) {
// console.log(cfg)
cfg.date = parseDate.bind(this)(cfg)
oldParse.bind(this)(cfg)
}

const setObject = function (argument) {
const keys = Object.keys(argument)
let chain = this.clone()
keys.forEach((key) => {
chain = chain.$set(key, argument[key])
})
return chain
}
const addObject = function (argument) {
const keys = Object.keys(argument)
let chain = this
keys.forEach((key) => {
chain = chain.add(argument[key], key)
})
return chain
const oldSet = function (int, string) {
return this.clone().$set(string, int)
}
const oldAdd = proto.add

const subtractObject = function (argument) {
const keys = Object.keys(argument)
let chain = this
keys.forEach((key) => {
chain = chain.subtract(argument[key], key)
})
return chain
const callObject = function (call, argument, string, offset = 1) {
if (argument instanceof Object) {
const keys = Object.keys(argument)
let chain = this
keys.forEach((key) => {
chain = call.bind(chain)(argument[key] * offset, key)
})
return chain
}
return call.bind(this)(argument * offset, string)
}

const oldSet = proto.set
proto.set = function (string, int) {
if (string instanceof Object) {
return setObject.bind(this)(string)
}
return oldSet.bind(this)(string, int)
int = int === undefined ? string : int
return callObject.bind(this)(oldSet, int, string)
}
const oldAdd = proto.add
proto.add = function (number, string) {
if (number instanceof Object) {
return addObject.bind(this)(number)
}
return oldAdd.bind(this)(number, string)
return callObject.bind(this)(oldAdd, number, string)
}
const oldSubtract = proto.subtract
proto.subtract = function (number, string) {
if (number instanceof Object) {
return subtractObject.bind(this)(number)
}
return oldSubtract.bind(this)(number, string)
return callObject.bind(this)(oldAdd, number, string, -1)
}
}

0 comments on commit b9f7f46

Please sign in to comment.