19 lines
505 B
TypeScript
19 lines
505 B
TypeScript
|
|
/**
|
||
|
|
* IStore - Interface for IndexedDB ObjectStore definitions
|
||
|
|
*
|
||
|
|
* Each entity store implements this interface to define its schema.
|
||
|
|
* Enables Open/Closed Principle: IndexedDBContext works with any IStore.
|
||
|
|
*/
|
||
|
|
export interface IStore {
|
||
|
|
/**
|
||
|
|
* The name of the ObjectStore in IndexedDB
|
||
|
|
*/
|
||
|
|
readonly storeName: string;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Create the ObjectStore with its schema (indexes, keyPath, etc.)
|
||
|
|
* Called during database upgrade (onupgradeneeded event)
|
||
|
|
*/
|
||
|
|
create(db: IDBDatabase): void;
|
||
|
|
}
|