7
7
* This library is available under the terms of the MIT License (2008).
8
8
* See http://opensource.org/licenses/alphabetical for full text.
9
9
*/
10
- // var plugin = require('./lib/sqlite.core.js');
11
- // var {SQLiteFactory} = plugin;
10
+ var plugin = require ( './lib/sqlite.core.js' ) ;
11
+ var { SQLiteFactory} = plugin ;
12
12
13
- // var config = [
13
+ var config = [
14
14
15
- // // meaning: [returnValueExpected,prototype,fn,argsNeedPadding,reverseCallbacks,rejectOnError]
15
+ // meaning: [returnValueExpected,prototype,fn,argsNeedPadding,reverseCallbacks,rejectOnError]
16
16
17
- // [false,"SQLitePlugin","transaction",false,true,true],
18
- // [false,"SQLitePlugin","readTransaction",false,true,true],
19
- // [false,"SQLitePlugin","close",false,false,true],
20
- // [false,"SQLitePlugin","executeSql",true,false,true],
21
- // [false,"SQLitePlugin","sqlBatch",false,false,true],
22
- // [false,"SQLitePlugin","attach",true,false,true],
23
- // [false,"SQLitePlugin","detach",false,false,true],
24
- // [false,"SQLitePluginTransaction","executeSql",true,false,false],
25
- // [false,"SQLiteFactory","deleteDatabase",false,false,true],
26
- // [true, "SQLiteFactory","openDatabase",false,false,true],
27
- // [false,"SQLiteFactory","echoTest",false,false,true]
28
- // ];
17
+ [ false , "SQLitePlugin" , "transaction" , false , true , true ] ,
18
+ [ false , "SQLitePlugin" , "readTransaction" , false , true , true ] ,
19
+ [ false , "SQLitePlugin" , "close" , false , false , true ] ,
20
+ [ false , "SQLitePlugin" , "executeSql" , true , false , true ] ,
21
+ [ false , "SQLitePlugin" , "sqlBatch" , false , false , true ] ,
22
+ [ false , "SQLitePlugin" , "attach" , true , false , true ] ,
23
+ [ false , "SQLitePlugin" , "detach" , false , false , true ] ,
24
+ [ false , "SQLitePluginTransaction" , "executeSql" , true , false , false ] ,
25
+ [ false , "SQLiteFactory" , "deleteDatabase" , false , false , true ] ,
26
+ [ true , "SQLiteFactory" , "openDatabase" , false , false , true ] ,
27
+ [ false , "SQLiteFactory" , "echoTest" , false , false , true ]
28
+ ] ;
29
29
30
- // var originalFns = {};
31
- // config.forEach(entry => {
32
- // let [returnValueExpected,prototype,fn]= entry;
33
- // let originalFn = plugin[prototype].prototype[fn];
34
- // originalFns[prototype + "." + fn] = originalFn;
35
- // });
30
+ var originalFns = { } ;
31
+ config . forEach ( entry => {
32
+ let [ returnValueExpected , prototype , fn ] = entry ;
33
+ let originalFn = plugin [ prototype ] . prototype [ fn ] ;
34
+ originalFns [ prototype + "." + fn ] = originalFn ;
35
+ } ) ;
36
36
37
- // function enablePromiseRuntime(enable){
38
- // if (enable){
39
- // createPromiseRuntime();
40
- // } else {
41
- // createCallbackRuntime();
42
- // }
43
- // }
44
- // function createCallbackRuntime() {
45
- // config.forEach(entry => {
46
- // let [returnValueExpected,prototype,fn,argsNeedPadding,reverseCallbacks,rejectOnError]= entry;
47
- // plugin[prototype].prototype[fn] = originalFns[prototype + "." + fn];
48
- // });
49
- // plugin.log("Callback based runtime ready");
50
- // }
51
- // function createPromiseRuntime() {
52
- // config.forEach(entry => {
53
- // let [returnValueExpected,prototype,fn,argsNeedPadding,reverseCallbacks,rejectOnError]= entry;
54
- // let originalFn = plugin[prototype].prototype[fn];
55
- // plugin[prototype].prototype[fn] = function(...args){
56
- // if (argsNeedPadding && args.length == 1){
57
- // args.push([]);
58
- // }
59
- // var promise = new Promise((resolve,reject) => {
60
- // let success = function(...args){
61
- // if (!returnValueExpected) {
62
- // return resolve(args);
63
- // }
64
- // };
65
- // let error = function(err){
66
- // plugin.log('error: ',fn,...args,arguments);
67
- // if (rejectOnError) {
68
- // reject(err);
69
- // }
70
- // return false;
71
- // };
72
- // var retValue = originalFn.call(this,...args,reverseCallbacks ? error : success, reverseCallbacks ? success : error);
73
- // if (returnValueExpected){
74
- // return resolve(retValue);
75
- // }
76
- // });
37
+ function enablePromiseRuntime ( enable ) {
38
+ if ( enable ) {
39
+ createPromiseRuntime ( ) ;
40
+ } else {
41
+ createCallbackRuntime ( ) ;
42
+ }
43
+ }
44
+ function createCallbackRuntime ( ) {
45
+ config . forEach ( entry => {
46
+ let [ returnValueExpected , prototype , fn , argsNeedPadding , reverseCallbacks , rejectOnError ] = entry ;
47
+ plugin [ prototype ] . prototype [ fn ] = originalFns [ prototype + "." + fn ] ;
48
+ } ) ;
49
+ plugin . log ( "Callback based runtime ready" ) ;
50
+ }
51
+ function createPromiseRuntime ( ) {
52
+ config . forEach ( entry => {
53
+ let [ returnValueExpected , prototype , fn , argsNeedPadding , reverseCallbacks , rejectOnError ] = entry ;
54
+ let originalFn = plugin [ prototype ] . prototype [ fn ] ;
55
+ plugin [ prototype ] . prototype [ fn ] = function ( ...args ) {
56
+ if ( argsNeedPadding && args . length == 1 ) {
57
+ args . push ( [ ] ) ;
58
+ }
59
+ var promise = new Promise ( ( resolve , reject ) => {
60
+ let success = function ( ...args ) {
61
+ if ( ! returnValueExpected ) {
62
+ return resolve ( args ) ;
63
+ }
64
+ } ;
65
+ let error = function ( err ) {
66
+ plugin . log ( 'error: ' , fn , ...args , arguments ) ;
67
+ if ( rejectOnError ) {
68
+ reject ( err ) ;
69
+ }
70
+ return false ;
71
+ } ;
72
+ var retValue = originalFn . call ( this , ...args , reverseCallbacks ? error : success , reverseCallbacks ? success : error ) ;
73
+ if ( returnValueExpected ) {
74
+ return resolve ( retValue ) ;
75
+ }
76
+ } ) ;
77
77
78
- // return promise;
79
- // }
80
- // });
81
- // plugin.log("Promise based runtime ready");
82
- // }
83
- // SQLiteFactory.prototype.enablePromise = enablePromiseRuntime;
78
+ return promise ;
79
+ }
80
+ } ) ;
81
+ plugin . log ( "Promise based runtime ready" ) ;
82
+ }
83
+ SQLiteFactory . prototype . enablePromise = enablePromiseRuntime ;
84
84
85
- // module.exports = new SQLiteFactory();
86
-
87
- import NativeSQLitePlugin from './NativeSQLitePlugin'
88
- const SQLitePlugin = NativeSQLitePlugin
89
- export default SQLitePlugin
85
+ module . exports = new SQLiteFactory ( ) ;
0 commit comments