diff --git a/package.json b/package.json index b73cdba..cf8fc59 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@ztimson/utils", - "version": "0.25.5", + "version": "0.25.6", "description": "Utility library", "author": "Zak Timson", "license": "MIT", diff --git a/src/database.ts b/src/database.ts index 8cf54a6..0ad10f8 100644 --- a/src/database.ts +++ b/src/database.ts @@ -7,11 +7,13 @@ export type TableOptions = { export class Database { connection!: Promise; + tables!: TableOptions[]; - constructor(public readonly database: string, public readonly tables: (string | TableOptions)[], public version?: number) { + constructor(public readonly database: string, tables: (string | TableOptions)[], public version?: number) { this.connection = new Promise((resolve, reject) => { const req = indexedDB.open(this.database, this.version); - const tableNames = new ASet(tables.map(t => (typeof t == 'object' ? t.name : t).toString())); + this.tables = tables.map(t => typeof t == 'object' ? t : {name: t}); + const tableNames = new ASet(this.tables.map(t => t.name)); req.onerror = () => reject(req.error); @@ -35,8 +37,8 @@ export class Database { }); } - includes(name: string): boolean { - return this.tables.some(t => (typeof t === 'string' ? name === t : name === t.name)); + includes(name: any): boolean { + return !!this.tables.find(t => t.name == name.toString()); } table(name: any): Table {