Skip to content

Commit 0766113

Browse files
author
Scott Switzer
committed
removed wankdanker#49 fix - breaks backwards compatibility. Needs discussion
1 parent d57b328 commit 0766113

2 files changed

Lines changed: 96 additions & 40 deletions

File tree

src/object-mapper.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,8 +251,8 @@ function update_arr(dest, key, data, keys, context)
251251
if (key.add) {
252252
if (data !== null && typeof data !== 'undefined') {
253253
dest = dest || []
254-
//dest.push(data)
255-
dest = dest.concat(data)
254+
dest.push(data)
255+
// dest = dest.concat(data)
256256
}
257257
return dest
258258
}

test/test.js

Lines changed: 94 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1624,16 +1624,11 @@ test('mapping - map and append full array to existing mapped array', function (t
16241624
'thingOther' : 'thing2[]+',
16251625
};
16261626

1627-
var expect = {
1628-
'thing2' : [
1629-
{a: 'a1', b: 'b1'}
1630-
, {a: 'a2', b: 'b2'}
1631-
, {a: 'a3', b: 'b3'}
1632-
, {a: 'a4', b: 'b4'}
1633-
, {a: 'a5', b: 'b5'}
1634-
, {a: 'a6', b: 'b6'}
1635-
]
1636-
};
1627+
var expect = {thing2:
1628+
[
1629+
[ { a: 'a1', b: 'b1' }, { a: 'a2', b: 'b2' }, { a: 'a3', b: 'b3' } ],
1630+
[ { a: 'a4', b: 'b4' }, { a: 'a5', b: 'b5' }, { a: 'a6', b: 'b6' } ]
1631+
]}
16371632

16381633
var result = om(obj, map);
16391634

@@ -2173,34 +2168,34 @@ test('Make sure no objects are created without data #48', function (t) {
21732168
t.end();
21742169
});
21752170

2176-
test('1 array mapping wraps destination in an unwanted array #49', function (t) {
2177-
const src = {
2178-
foo: [{ bar: 4 }, { bar: 33 }],
2179-
bifoo: [{ bar: 77 }, { bar: 97 }]
2180-
};
2181-
const mapper = {
2182-
"foo[].bar": "[]+",
2183-
"bifoo[].bar": "[]+"
2184-
}
2185-
var expect = [4, 33, 77, 97];
2186-
var result = om(src, mapper);
2187-
t.deepEqual(result, expect);
2188-
t.end();
2189-
});
2190-
test('2 array mapping wraps destination in an unwanted array #49', function (t) {
2191-
const src = {
2192-
foo: [{ bar: 4 }, { bar: 33 }],
2193-
bifoo: [{ bar: 77 }, { bar: 97 }]
2194-
};
2195-
const mapper2 = {
2196-
"foo[].bar": "num[]+",
2197-
"bifoo[].bar": "num[]+"
2198-
}
2199-
var expect = {num: [4, 33, 77, 97] };
2200-
var result = om(src, mapper2);
2201-
t.deepEqual(result, expect);
2202-
t.end();
2203-
});
2171+
// test('1 array mapping wraps destination in an unwanted array #49', function (t) {
2172+
// const src = {
2173+
// foo: [{ bar: 4 }, { bar: 33 }],
2174+
// bifoo: [{ bar: 77 }, { bar: 97 }]
2175+
// };
2176+
// const mapper = {
2177+
// "foo[].bar": "[]+",
2178+
// "bifoo[].bar": "[]+"
2179+
// }
2180+
// var expect = [4, 33, 77, 97];
2181+
// var result = om(src, mapper);
2182+
// t.deepEqual(result, expect);
2183+
// t.end();
2184+
// });
2185+
// test('2 array mapping wraps destination in an unwanted array #49', function (t) {
2186+
// const src = {
2187+
// foo: [{ bar: 4 }, { bar: 33 }],
2188+
// bifoo: [{ bar: 77 }, { bar: 97 }]
2189+
// };
2190+
// const mapper2 = {
2191+
// "foo[].bar": "num[]+",
2192+
// "bifoo[].bar": "num[]+"
2193+
// }
2194+
// var expect = {num: [4, 33, 77, 97] };
2195+
// var result = om(src, mapper2);
2196+
// t.deepEqual(result, expect);
2197+
// t.end();
2198+
// });
22042199

22052200
// test('Including parent items in arrays #50', function (t) {
22062201
// const src = {
@@ -2234,3 +2229,64 @@ test('2 array mapping wraps destination in an unwanted array #49', function (t)
22342229
// t.deepEqual(result, expect);
22352230
// t.end();
22362231
// });
2232+
2233+
// test('2 array mapping wraps destination in an unwanted array #49', function (t) {
2234+
// const src = {
2235+
// "firstName": "S",
2236+
// "lastName": "J",
2237+
// "Alias": [{
2238+
// "firstName": "S111",
2239+
// "lastName": "J111"
2240+
// }, {
2241+
// "firstName": "S111222",
2242+
// "lastName": "J1222211"
2243+
// }],
2244+
// "address": [
2245+
// {
2246+
// "streetName": "",
2247+
// "city": "S2"
2248+
// },
2249+
// {
2250+
// "streetName": "karve",
2251+
// "city": "pune"
2252+
// }
2253+
// ]
2254+
// };
2255+
// const map = {
2256+
// "firstName": "Name[].FirstName",
2257+
// "lastName": "Name[].LastName",
2258+
// "Alias[].firstName": "Name[].FirstName",
2259+
// "Alias[].lastName": "Name[].LastName",
2260+
// "address[].streetName": "Address[].StreetName",
2261+
// "address[].city": "Address[].City"
2262+
// }
2263+
// var expect = {
2264+
// "Name": [
2265+
// {
2266+
// "FirstName": "S",
2267+
// "LastName": "J"
2268+
// },
2269+
// {
2270+
// "FirstName": "S111",
2271+
// "LastName": "J111"
2272+
// },
2273+
// {
2274+
// "FirstName": "S111222",
2275+
// "LastName": "J1222211"
2276+
// }
2277+
// ],
2278+
// "Address": [
2279+
// {
2280+
// "StreetName": "",
2281+
// "City": "S2"
2282+
// },
2283+
// {
2284+
// "StreetName": "karve",
2285+
// "City": "pune"
2286+
// }
2287+
// ]
2288+
// };
2289+
// var result = om(src, map);
2290+
// t.deepEqual(result, expect);
2291+
// t.end();
2292+
// });

0 commit comments

Comments
 (0)