import Dexie from 'dexie' ; interface QueueModel { id : number ; queue : number [ ] ; originalQueue : number [ ] ; cursor : number ; } export class StateDatabase extends Dexie { queue : Dexie . Table < QueueModel , number > ; constructor ( dbname ) { super ( dbname ) ; this . version ( 1 ) . stores ( { queue : 'id, cursor' , } ) ; this . on ( 'populate' , ( ) => { this . queue . add ( { id : 1 , queue : [ ] , originalQueue : [ ] , cursor : - 2 } ) ; } ) ; } }