Pop-up dictionary browser extension for language learning. Successor to Yomichan. (PERSONAL FORK)
at lambda-fork/main 38 lines 1.2 kB view raw
1/* 2 * Copyright (C) 2023-2025 Yomitan Authors 3 * 4 * This program is free software: you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation, either version 3 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <https://www.gnu.org/licenses/>. 16 */ 17 18export type StructureDefinition<TObjectStoreName extends string> = { 19 version: number; 20 stores: {[name in TObjectStoreName]: StoreDefinition}; 21}; 22 23export type StoreDefinition = { 24 primaryKey: IDBObjectStoreParameters; 25 indices: string[]; 26}; 27 28export type UpdateFunction = ( 29 db: IDBDatabase, 30 transaction: IDBTransaction, 31 oldVersion: number, 32 newVersion: number | null, 33) => void; 34 35export type CountTarget = [ 36 objectStoreOrIndex: IDBObjectStore | IDBIndex, 37 query: IDBValidKey | IDBKeyRange | undefined, 38];