Skip to content

Commit 4d2bcc4

Browse files
andrew-colemanmattbaileyuk
authored andcommitted
Maintain singleton sequence of array
Signed-off-by: andrew-coleman <andrew_coleman@uk.ibm.com>
1 parent 34c2a09 commit 4d2bcc4

File tree

4 files changed

+47
-4
lines changed

4 files changed

+47
-4
lines changed

src/jsonata.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,9 @@ var jsonata = (function() {
219219
}
220220

221221
if(expr.keepSingletonArray) {
222+
if(!isSequence(resultSequence)) {
223+
resultSequence = createSequence(resultSequence);
224+
}
222225
resultSequence.keepSingleton = true;
223226
}
224227

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
[
2+
{
3+
"expr": "$.[value,epochSeconds]",
4+
"data": [
5+
{"epochSeconds":1578381600,"value": 3},
6+
{"epochSeconds":1578381700,"value": 5}
7+
],
8+
"result": [
9+
[3, 1578381600],
10+
[5, 1578381700]
11+
]
12+
},
13+
{
14+
"expr": "$.[value,epochSeconds]",
15+
"data": [
16+
{"epochSeconds":1578381600,"value": 3}
17+
],
18+
"result": [3, 1578381600]
19+
},
20+
{
21+
"expr": "$.[value,epochSeconds][]",
22+
"data": [
23+
{"epochSeconds":1578381600,"value": 3},
24+
{"epochSeconds":1578381700,"value": 5}
25+
],
26+
"result": [
27+
[3, 1578381600],
28+
[5, 1578381700]
29+
]
30+
},
31+
{
32+
"expr": "$.[value,epochSeconds][]",
33+
"data": [
34+
{"epochSeconds":1578381600,"value": 3}
35+
],
36+
"result": [
37+
[3, 1578381600]
38+
]
39+
}
40+
]
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"expr": "( $data := { \"one\": [1], \"two\": [5] }; $data[].$zip(one, two) ~> $map($sum)) ",
2+
"expr": "( $data := { \"one\": [1], \"two\": [5] }; $data.$zip(one, two) ~> $map($sum)) ",
33
"data": null,
44
"bindings": {},
55
"result": 6
6-
}
6+
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"expr": "( $data := { \"one\": 1, \"two\": 5 }; $data[].$zip(one, two) ~> $map($sum)) ",
2+
"expr": "( $data := { \"one\": 1, \"two\": 5 }; $data.$zip(one, two) ~> $map($sum)) ",
33
"data": null,
44
"bindings": {},
55
"result": 6
6-
}
6+
}

0 commit comments

Comments
 (0)