0.1.0 • Published 6 years ago

@opdime/mysql-promises v0.1.0

Weekly downloads
1
License
Unlicense
Repository
github
Last release
6 years ago

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 Promises.

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.