@@ -877,40 +877,26 @@ Module["onRuntimeInitialized"] = (function onRuntimeInitialized() {
877
877
var func_ptr ;
878
878
function wrapped_func ( cx , argc , argv ) {
879
879
var result ;
880
- function data_func_blob ( ptr ) {
880
+ function extract_blob ( ptr ) {
881
881
var size = sqlite3_value_bytes ( ptr ) ;
882
882
var blob_ptr = sqlite3_value_blob ( ptr ) ;
883
883
var blob_arg = new Uint8Array ( size ) ;
884
- for ( var j = 0 ; j < size ; j += 1 ) {
885
- blob_arg [ j ] = HEAP8 [ blob_ptr + j ] ;
886
- }
884
+ for ( var j = 0 ; j < size ; j += 1 ) blob_arg [ j ] = HEAP8 [ blob_ptr + j ] ;
887
885
return blob_arg ;
888
886
}
889
- function data_func_null ( ) {
890
- return null ;
891
- }
892
887
var args = [ ] ;
893
888
for ( var i = 0 ; i < argc ; i += 1 ) {
894
889
var value_ptr = getValue ( argv + ( 4 * i ) , "i32" ) ;
895
890
var value_type = sqlite3_value_type ( value_ptr ) ;
896
- var data_func ;
897
- switch ( value_type ) {
898
- case 1 :
899
- data_func = sqlite3_value_double ;
900
- break ;
901
- case 2 :
902
- data_func = sqlite3_value_double ;
903
- break ;
904
- case 3 :
905
- data_func = sqlite3_value_text ;
906
- break ;
907
- case 4 :
908
- data_func = data_func_blob ;
909
- break ;
910
- default :
911
- data_func = data_func_null ;
912
- }
913
- args . push ( data_func ( value_ptr ) ) ;
891
+ var arg ;
892
+ if ( value_type === SQLITE_INTEGER || value_type === SQLITE_FLOAT ) {
893
+ arg = sqlite3_value_double ( value_ptr ) ;
894
+ } else if ( value_type === SQLITE_TEXT ) {
895
+ arg = sqlite3_value_text ( value_ptr ) ;
896
+ } else if ( value_type === SQLITE_BLOB ) {
897
+ arg = extract_blob ( value_ptr ) ;
898
+ } else arg = null ;
899
+ args . push ( arg ) ;
914
900
}
915
901
try {
916
902
result = func . apply ( null , args ) ;
0 commit comments