UNPKG

543 BJavaScriptView Raw
1'use strict';
2
3const KeyvSql = require('@keyv/sql');
4const mysql = require('mysql2/promise');
5
6class KeyvMysql extends KeyvSql {
7 constructor(opts) {
8 if (typeof opts === 'string') {
9 opts = { uri: opts };
10 }
11 opts = Object.assign({
12 dialect: 'mysql',
13 uri: 'mysql://localhost'
14 }, opts);
15
16 opts.connect = () => Promise.resolve()
17 .then(() => mysql.createConnection(opts.uri))
18 .then(connection => {
19 return sql => connection.execute(sql)
20 .then(data => data[0]);
21 });
22
23 super(opts);
24 }
25}
26
27module.exports = KeyvMysql;