99export interface DataResult {
1010 isWrapper : boolean ;
1111 getFinalResult ( ) : Promise < any > ;
12+ getRawData ( ) : any [ ] ;
13+ getTransformData ( ) : any [ ] ;
14+ getRootResultObject ( ) : any [ ] ;
1215}
1316
1417class BaseWrapper {
@@ -117,32 +120,32 @@ export class ResultWrapper extends BaseWrapper implements DataResult {
117120 return ( array as any ) [ method ] ( ...args ) ;
118121 }
119122
120- public getRawData ( ) {
123+ public getRawData ( ) : any [ ] {
121124 if ( this . isNative ) {
122- return this . nativeReference ;
125+ return [ this . nativeReference ] ;
123126 }
124127
125- return this . jsResult ;
128+ return [ this . jsResult ] ;
126129 }
127130
128131 public setTransformData ( td : any ) {
129132 this . transformData = td ;
130133 }
131134
132- public getTransformData ( ) : any {
133- return this . transformData ;
135+ public getTransformData ( ) : any [ ] {
136+ return [ this . transformData ] ;
134137 }
135138
136139 public setRootResultObject ( obj : any ) {
137140 this . rootResultObject = obj ;
138141 }
139142
140- public getRootResultObject ( ) : any {
141- return this . rootResultObject ;
143+ public getRootResultObject ( ) : any [ ] {
144+ return [ this . rootResultObject ] ;
142145 }
143146
144147 public async getFinalResult ( ) : Promise < any > {
145- return getFinalQueryResult ( this . transformData , this . getRawData ( ) , this . rootResultObject ) ;
148+ return getFinalQueryResult ( this . transformData , this . getRawData ( ) [ 0 ] , this . rootResultObject ) ;
146149 }
147150}
148151
@@ -154,9 +157,9 @@ export class ResultMultiWrapper extends BaseWrapper implements DataResult {
154157 public async getFinalResult ( ) : Promise < any > {
155158 const [ transformDataJson , rawDataRef , cleanResultList ] = this . results . reduce < [ Object [ ] , any [ ] , Object [ ] ] > (
156159 ( [ transformList , rawList , resultList ] , r ) => {
157- transformList . push ( r . getTransformData ( ) ) ;
158- rawList . push ( r . getRawData ( ) ) ;
159- resultList . push ( r . getRootResultObject ( ) ) ;
160+ transformList . push ( r . getTransformData ( ) [ 0 ] ) ;
161+ rawList . push ( r . getRawData ( ) [ 0 ] ) ;
162+ resultList . push ( r . getRootResultObject ( ) [ 0 ] ) ;
160163 return [ transformList , rawList , resultList ] ;
161164 } ,
162165 [ [ ] , [ ] , [ ] ]
@@ -170,6 +173,18 @@ export class ResultMultiWrapper extends BaseWrapper implements DataResult {
170173
171174 return getFinalQueryResultMulti ( transformDataJson , rawDataRef , responseDataObj ) ;
172175 }
176+
177+ public getTransformData ( ) : any [ ] {
178+ return this . results . map ( r => r . getTransformData ( ) [ 0 ] ) ;
179+ }
180+
181+ public getRawData ( ) : any [ ] {
182+ return this . results . map ( r => r . getRawData ( ) [ 0 ] ) ;
183+ }
184+
185+ public getRootResultObject ( ) : any [ ] {
186+ return this . results . map ( r => r . getRootResultObject ( ) [ 0 ] ) ;
187+ }
173188}
174189
175190// This is consumed by native side via Transport Bridge
@@ -181,9 +196,9 @@ export class ResultArrayWrapper extends BaseWrapper implements DataResult {
181196 public async getFinalResult ( ) : Promise < any > {
182197 const [ transformDataJson , rawData , resultDataJson ] = this . results . reduce < [ Object [ ] , any [ ] , Object [ ] ] > (
183198 ( [ transformList , rawList , resultList ] , r ) => {
184- transformList . push ( r . getTransformData ( ) ) ;
185- rawList . push ( r . getRawData ( ) ) ;
186- resultList . push ( r . getRootResultObject ( ) ) ;
199+ transformList . push ( r . getTransformData ( ) [ 0 ] ) ;
200+ rawList . push ( r . getRawData ( ) [ 0 ] ) ;
201+ resultList . push ( r . getRootResultObject ( ) [ 0 ] ) ;
187202 return [ transformList , rawList , resultList ] ;
188203 } ,
189204 [ [ ] , [ ] , [ ] ]
@@ -194,4 +209,16 @@ export class ResultArrayWrapper extends BaseWrapper implements DataResult {
194209
195210 return [ transformDataJson , rawData , resultDataJson ] ;
196211 }
212+
213+ public getTransformData ( ) : any [ ] {
214+ return this . results . map ( r => r . getTransformData ( ) [ 0 ] ) ;
215+ }
216+
217+ public getRawData ( ) : any [ ] {
218+ return this . results . map ( r => r . getRawData ( ) [ 0 ] ) ;
219+ }
220+
221+ public getRootResultObject ( ) : any [ ] {
222+ return this . results . map ( r => r . getRootResultObject ( ) [ 0 ] ) ;
223+ }
197224}
0 commit comments