@@ -31,15 +31,59 @@ module.exports = function (RED) {
3131 var array_result = {
3232 payload : [ ]
3333 }
34+
35+ function processInteger ( integer ) {
36+ if ( integer . constructor . name === 'Integer' ) {
37+ return integer . toNumber ( )
38+ }
39+ return integer
40+ }
41+
42+ function processRecord ( record ) {
43+ if ( record . constructor . name === 'Integer' ) {
44+ return record . toNumber ( )
45+ }
46+
47+ if ( record . constructor . name === 'Path' ) {
48+ record . start . identity = processInteger ( record . start . identity )
49+ record . end . identity = processInteger ( record . end . identity )
50+ record . segments = record . segments . map ( segment => {
51+
52+ segment . start . identity = processInteger ( segment . start . identity )
53+ segment . end . identity = processInteger ( segment . end . identity )
54+
55+ segment . relationship . identity = processInteger ( segment . relationship . identity )
56+ segment . relationship . start = processInteger ( segment . relationship . start )
57+ segment . relationship . end = processInteger ( segment . relationship . end )
58+
59+ return segment
60+ } )
61+ return record
62+ }
63+
64+ if ( record . constructor . name === 'Relationship' ) {
65+ record . identity = processInteger ( record . identity )
66+ record . start = processInteger ( record . start )
67+ record . end = processInteger ( record . end )
68+ return record
69+ }
70+
71+ if ( record . constructor . name === 'Node' ) {
72+ record . identity = processInteger ( record . identity )
73+ return record
74+ }
75+
76+ return record
77+ }
3478 resultPromise . then ( result => {
3579 session . close ( )
3680 if ( result . records . length > 1 ) {
3781 result . records . forEach ( function ( item , index , array ) {
38- array_result . payload . push ( item . get ( 0 ) . properties )
82+ array_result . payload . push ( processRecord ( item . get ( 0 ) ) )
3983 } )
4084 node . send ( [ null , array_result ] )
4185 } else {
42- scalar_result . payload = result . records [ 0 ] . get ( 0 ) . properties
86+ scalar_result . payload = processRecord ( result . records [ 0 ] . get ( 0 ) )
4387 node . send ( [ scalar_result , null ] )
4488 }
4589 } )
0 commit comments