33 lines
		
	
	
		
			694 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			694 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | 'use strict'; | ||
|  | 
 | ||
|  | const makeDoneCb = require('./make_done_cb.js'); | ||
|  | 
 | ||
|  | class PromisePreparedStatementInfo { | ||
|  |   constructor(statement, promiseImpl) { | ||
|  |     this.statement = statement; | ||
|  |     this.Promise = promiseImpl; | ||
|  |   } | ||
|  | 
 | ||
|  |   execute(parameters) { | ||
|  |     const s = this.statement; | ||
|  |     const localErr = new Error(); | ||
|  |     return new this.Promise((resolve, reject) => { | ||
|  |       const done = makeDoneCb(resolve, reject, localErr); | ||
|  |       if (parameters) { | ||
|  |         s.execute(parameters, done); | ||
|  |       } else { | ||
|  |         s.execute(done); | ||
|  |       } | ||
|  |     }); | ||
|  |   } | ||
|  | 
 | ||
|  |   close() { | ||
|  |     return new this.Promise((resolve) => { | ||
|  |       this.statement.close(); | ||
|  |       resolve(); | ||
|  |     }); | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = PromisePreparedStatementInfo; |