@@ -12,76 +12,22 @@ export function nativeVectorToArray(nVector: NTStringVector) {
1212}
1313
1414export function nativeVariantToJS ( variant : NTVariant ) {
15- switch ( variant . getType ( ) ) {
16- case NTVariantType . T_VARIANT_TYPE_ARRAY : {
17- const result = [ ] ;
18- for ( let index = 0 ; index < variant . getArraySize ( ) ; index ++ ) {
19- result [ index ] = nativeVariantToJS ( variant . getArrayElement ( index ) ) ;
20- }
21- return result ;
22- }
23- case NTVariantType . T_VARIANT_TYPE_BOOL :
24- return variant . getBool ( ) ;
25- case NTVariantType . T_VARIANT_TYPE_DOUBLE :
26- return variant . getDouble ( ) ;
27- case NTVariantType . T_VARIANT_TYPE_INTEGER :
28- return variant . getLong ( ) ;
29- case NTVariantType . T_VARIANT_TYPE_NULL :
30- return null ;
31- case NTVariantType . T_VARIANT_TYPE_STRING :
32- return variant . getString ( ) ;
33- case NTVariantType . T_VARIANT_TYPE_OBJECT : {
34- const result = { } as any ;
35- const keys = variant . getObjectKeys ( ) ;
36- let key ;
37- for ( let index = 0 ; index < keys . size ( ) ; index ++ ) {
38- key = keys . get ( index ) ;
39- result [ key ] = nativeVariantToJS ( variant . getObjectElement ( key ) ) ;
40- }
41- return result ;
42- }
43- }
15+ return JSON . parse ( variant . toString ( ) ) ;
4416}
4517export function JSVariantToNative ( variant : any ) {
4618 if ( Array . isArray ( variant ) ) {
47- const builder = NTVariantArrayBuilder . alloc ( ) . init ( ) ;
48- for ( let index = 0 ; index < variant . length ; index ++ ) {
49- const obj = variant [ index ] ;
50- if ( typeof obj === 'boolean' ) {
51- builder . addBool ( obj ) ;
52- } else if ( typeof obj === 'number' ) {
53- builder . addDouble ( obj ) ;
54- } else if ( typeof obj === 'string' ) {
55- builder . addString ( obj ) ;
56- } else {
57- builder . addVariant ( JSVariantToNative ( obj ) ) ;
58- }
59- }
60- return builder . buildVariant ( ) ;
19+ return NTVariant . fromString ( JSON . stringify ( variant ) ) ;
6120 } else if ( typeof variant === 'object' ) {
62- const builder = NTVariantObjectBuilder . alloc ( ) . init ( ) ;
63- Object . keys ( variant ) . forEach ( ( k ) => {
64- const obj = variant [ k ] ;
65- if ( typeof obj === 'boolean' ) {
66- builder . setBoolVal ( k , obj ) ;
67- } else if ( typeof obj === 'number' ) {
68- builder . setDoubleVal ( k , obj ) ;
69- } else if ( typeof obj === 'string' ) {
70- builder . setStringStr ( k , obj ) ;
71- } else {
72- builder . setVariantVar ( k , JSVariantToNative ( obj ) ) ;
73- }
74- } ) ;
75- return builder . buildVariant ( ) ;
21+ return NTVariant . fromString ( JSON . stringify ( variant ) ) ;
7622 } else if ( variant ) {
7723 if ( typeof variant === 'boolean' ) {
7824 return NTVariant . alloc ( ) . initWithBoolVal ( variant ) ;
7925 } else if ( typeof variant === 'number' ) {
8026 return NTVariant . alloc ( ) . initWithDoubleVal ( variant ) ;
8127 } else if ( typeof variant === 'string' ) {
8228 return NTVariant . alloc ( ) . initWithString ( variant ) ;
83- } else {
84- return NTVariant . alloc ( ) . initWithObject ( variant ) ;
29+ // } else {
30+ // return NTVariant.alloc().initWithObject(variant);
8531 }
8632 }
8733 return null ;
0 commit comments