iamstarkov/generator-travis

deepAssign doesnt extend arrays

iamstarkov opened this issue · 3 comments

> deepAssign({ list: ['asd']}, { list: [1, 2,3] });
{ list: [ 1, 2, 3 ] }

this should work

var _ = require('lodash');
var mergeArrays = function(a, b) { if (_.isArray(a)) { return a.concat(b); }}
_.merge({ list: ['asd']}, { list: [1, 2,3] }, mergeArrays)

this also should work:

var R = require('ramda');
var mergeConcat = (x, y) =>
    R.reduce(
        (acc, kv) =>
            R.over(
                R.lensProp(kv[0]),
                R.pipe(R.defaultTo([]),
                R.concat(R.__, kv[1])),
                acc
            ),
        x,
        R.toPairs(y)
    );
> mergeConcat({ list: ['asd']}, { list: [1, 2,3] });