АР
Size: a a a
АЯ
АЯ
AF
NF
VS
λ
АЯ
АЯ
NF
// там же где FormulaPayload и context
updateAds = (ads) => from(ads)
.to(FormulaPayload)
.filter(x => x.type === FormulaType.New)
.map(x => ({
payload: x.rowValue(),
id: x.id
}))
.map(context.update)
// где-то в корне
createSomeShit({
updateAds: updateAds({ update: ... })
})
// где-то чуть ниже
updateAds = updateAds({ fromFormulaPayload: ..., onlyNew: ..., rowValues: ... })
// где-то очень глубоко
({ updateAds, doSomethingElse}) => {
updateAds(ads);
doSomethingElse();
}
// где-то рядом с вызовом
updateAds = ({ update }) => ({ fromFormulaPayload, onlyNew, rowValues }) => (ads) => update(rowValues(onlyNew(fromFormulaPayload())));
NF
NF
NF
NF
.filter(byType(FormulaType.New))
, это ок, вообще без потерьNF
toPayload = ads => ads.map(x => ({то это x10 к сложности кода, а если
payload: x.rowValue(),
id: x.id
}))
toPayload = x => ({
payload: x.rowValue(),
id: x.id
})
({toPayload, x }) => toPayload(x)
потому что в случае выноса функции она будет передана через контекст родителя, а не вместе с контекстом x
˸A
NF
p
// там же где FormulaPayload и context
updateAds = (ads) => from(ads)
.to(FormulaPayload)
.filter(x => x.type === FormulaType.New)
.map(x => ({
payload: x.rowValue(),
id: x.id
}))
.map(context.update)
// где-то в корне
createSomeShit({
updateAds: updateAds({ update: ... })
})
// где-то чуть ниже
updateAds = updateAds({ fromFormulaPayload: ..., onlyNew: ..., rowValues: ... })
// где-то очень глубоко
({ updateAds, doSomethingElse}) => {
updateAds(ads);
doSomethingElse();
}
// где-то рядом с вызовом
updateAds = ({ update }) => ({ fromFormulaPayload, onlyNew, rowValues }) => (ads) => update(rowValues(onlyNew(fromFormulaPayload())));
NF