11<script  setup lang="ts">
22import  { ref , watch  } from  ' vue' 
33import  { API  } from  ' ./net' 
4+ import  type  { Store  } from  ' ./store' 
5+ import  type  { Pair  } from  ' ./types' 
46import  { ElMessage  } from  ' element-plus' 
57import  { Codemirror  } from  ' vue-codemirror' 
68import  HistoryInput  from  ' ../components/HistoryInput.vue' 
79
8- const   stores =  ref ([])
10+ const   stores =  ref ([]  as   Store [] )
911const   kind =  ref (' '  )
1012const   store =  ref (' '  )
1113const   sqlQuery =  ref (' '  )
12- const   queryResult =  ref ([])
14+ const   queryResult =  ref ([]  as   any [] )
1315const   queryResultAsJSON=  ref (' '  )
14- const   columns =  ref ([])
16+ const   columns =  ref ([]  as   string [] )
1517const   queryTip =  ref (' '  )
1618const   databases =  ref ([])
1719const   tables =  ref ([])
@@ -33,7 +35,15 @@ watch(store, (s) => {
3335    sqlQuery .value  =  ' '  
3436    executeQuery () 
3537}) 
36- const   queryDataFromTable =  (data ) =>  {
38+ 
39+ interface  QueryData  {
40+     items:  any [] 
41+     data:  any [] 
42+     label:  string  
43+     meta:  any  
44+ } 
45+ 
46+ const   queryDataFromTable =  (data :  QueryData ) =>  {
3747    sqlQuery .value  =  ` select * from ${data .label } limit 10 `  
3848    executeQuery () 
3949} 
@@ -66,13 +76,13 @@ API.GetStores((data) => {
6676    loadingStores .value  =  false  
6777}) 
6878
69- const   ormDataHandler =  (data ) =>  {
70-     const   result =  [] 
79+ const   ormDataHandler =  (data :   QueryData ) =>  {
80+     const   result =  []  as   any []  
7181    const   cols =  new  Set () 
7282
7383    data .items .forEach (e  =>  { 
7484        const   obj =  {} 
75-         e .data .forEach (item  =>  { 
85+         e .data .forEach (( item :   Pair )  =>  { 
7686            obj [item .key ] =  item .value  
7787            cols .add (item .key ) 
7888        }) 
@@ -98,12 +108,12 @@ const ormDataHandler = (data) => {
98108    }) 
99109} 
100110
101- const   keyValueDataHandler =  (data ) =>  {
111+ const   keyValueDataHandler =  (data :   QueryData ) =>  {
102112    queryResult .value  =  [] 
103113    data .data .forEach (e  =>  { 
104-         const   obj =  {}  
105-         obj [ ' key' ]  =   e .key  
106-         obj [ ' value' ]  =   e .value  
114+         const   obj =  new   Map < string ,  string >();  
115+         obj . set ( ' key' ,  e .key )  
116+         obj . set ( ' value' ,  e .value )  
107117        queryResult .value .push (obj ) 
108118
109119        columns .value  =  [' key'  , ' value'  ] 
0 commit comments