@opdime/mysql-promises
v0.1.0
Published
A promise wrapper around the mysql module.
Downloads
2
Readme
MySQL-Promises-JS
MySQL-Promises-JS is a simple wrapper arount the mysql package, which earases the callbacks from the API and replaces them with Promise
s.
const { MysqlPromises } = require('@opdime/mysql-promises');
// or
import { MysqlPromises } from '.';
const connection = MysqlPromises.createConnection({
database: 'example',
host: 'localhost',
password: 'root',
user: 'root'
});
connection
.connect()
.then(x => x.query('SELECT * FROM tbl_user;'))
.then(({ result }) => console.log(result))
.then(() => connection.end())
.catch(e => console.error(e));
static MysqlPromises.createConnection(config = undefined)
Creates a new MysqlPomises
instance. The configuration is the same as usually used with the mysql package.
async MysqlPromises.beginTransaction()
Starts a new transaction.
async MysqlPromises.commit()
Commits the current transaction.
MysqlPromises.config()
Exposes the underlying configuration of the Connection
instance.
async MysqlPromises.connect()
Initializes the connection to the configured endpoint. This method returns a Promise
which contains the connected MysqlPromises
instance.
MysqlPromises.destroy()
Closes the current Connection
instance immediatly, terminating all pending tasks.
async MysqlPromises.end()
Closes the current Connection
instance soft. So, all pending tasks will be executed.
MysqlPromises.getRawConnection()
Exposes the Exposes the underlying Connection
instance.
async MysqlPromises.query(query, params = [])
Executes the provided query. The result is going to be an object of the type QueryResult
which has the following TypeScript definition:
export type QueryResult<T> = Promise<{ fields?: Array<FieldInfo>; result: T }>;
As shown in the code above, the result may be of any type. In case you use TypeScript, you can also specify the type of the result. So, a query call in TypeScript could look like this:
interface IUser {
username: string;
dataOfBirth: Date;
}
connection
.connect()
.then(x => x.query<Array<IUser>>('SELECT * FROM tbl_user;'))
.then(({ result }) => console.log(result))
.then(() => connection.end())
.catch(e => console.error(e));
async MysqlPromises.rollback()
Performs a rollback on the current transaction.