let group1 = {
tools: {
sum: {
handler(self, v1, v2) {
self.success(v1 + v2)
}
}
}
}
let group2 = {
mergers: {
mySumGroup: 'sumGroup'
},
tools: {
double: {
install({ include }) {
include('sum').tool('mySumGroup/sum')
},
handler(self, v1) {
self.tool('sum').action(v1, v1, (e, r) => {
self.success(r)
})
}
}
}
}
let merger = {
groups: {
sumGroup() {
return {
data: group1
}
},
doubleGroup() {
return {
data: group2
}
}
}
}
packhouse.merger('myMerger', merger)
packhouse.tool('myMerger@doubleGroup/double').action(10, (e, r) => {
console.log(r) // 20
})