/[sudobot]/trunk/src/client/Database.ts
ViewVC logotype

Diff of /trunk/src/client/Database.ts

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/src/Database.js revision 50 by rakin, Mon Jul 29 17:28:20 2024 UTC trunk/src/client/Database.ts revision 51 by rakin, Mon Jul 29 17:28:23 2024 UTC
# Line 1  Line 1 
1  const { Database: DB } = require('sqlite3');  import { Database as DB } from 'sqlite3';
2    import DiscordClient from './Client';
3    
4  class Database {  export default class Database {
5      constructor(dbpath) {      client: DiscordClient;
6        dbpath: string;
7        db: DB;
8    
9        constructor(dbpath: string, client: DiscordClient) {
10            this.client = client;
11          this.dbpath = dbpath;          this.dbpath = dbpath;
12          this.db = new DB(dbpath, (err) => {          this.db = new DB(dbpath, (err) => {
13              if (err) {              if (err) {
# Line 10  class Database { Line 16  class Database {
16          });          });
17      }      }
18    
19      get(sql, callback1, callback2) {      get(sql: string, params: any[] | Function, callback?: Function) {
20          return this.db.get(sql, callback1, callback2);          return this.db.get(sql, params, callback);
21      }      }
22    
23      all(sql, callback1, callback2) {      all(sql: string, params: any[] | Function, callback?: Function) {
24          return this.db.all(sql, callback1, callback2);          return this.db.all(sql, params, callback);
25      }      }
26    
27      runAsync(sql, paramsOrCallback = []) {      runAsync(sql: string, paramsOrCallback: any[] | Function = []) {
28          return new Promise((resolve, reject) => {          return new Promise<void>((resolve, reject) => {
29              this.db.run(sql, paramsOrCallback, err => {              this.db.run(sql, paramsOrCallback, err => {
30                  if (err) {                  if (err) {
31                      reject(err);                      reject(err);
# Line 31  class Database { Line 37  class Database {
37          });          });
38      }      }
39    
40      getAsync(sql, paramsOrCallback = []) {      getAsync(sql: string, paramsOrCallback: any[] | Function = []): Promise <any> {
41          return new Promise((resolve, reject) => {          return new Promise((resolve, reject) => {
42              this.db.get(sql, paramsOrCallback, (err, data) => {              this.db.get(sql, paramsOrCallback, (err, data) => {
43                  if (err) {                  if (err) {
# Line 44  class Database { Line 50  class Database {
50          });          });
51      }      }
52    
53      allAsync(sql, paramsOrCallback = []) {      allAsync(sql: string, paramsOrCallback: any[] | Function = []): Promise <any> {
54          return new Promise((resolve, reject) => {          return new Promise((resolve, reject) => {
55              this.db.all(sql, paramsOrCallback, (err, data) => {              this.db.all(sql, paramsOrCallback, (err, data) => {
56                  if (err) {                  if (err) {
# Line 56  class Database { Line 62  class Database {
62              });              });
63          });          });
64      }      }
 }  
   
 module.exports = Database;  
65    };

Legend:
Removed from v.50  
changed lines
  Added in v.51

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26