ngx-indexed-db
Version:
Angular wrapper to IndexedDB database.
43 lines (42 loc) • 1.16 kB
TypeScript
import { InjectionToken } from '@angular/core';
export interface DBConfig {
name: string;
version: number;
objectStoresMeta: ObjectStoreMeta[];
migrationFactory?: () => {
[key: number]: (db: IDBDatabase, transaction: IDBTransaction) => void;
};
}
export interface ObjectStoreMeta {
store: string;
storeConfig: {
keyPath: string | string[];
autoIncrement: boolean;
[key: string]: any;
};
storeSchema: ObjectStoreSchema[];
}
export interface ObjectStoreSchema {
name: string;
keypath: string | string[];
options: {
unique: boolean;
[key: string]: any;
};
}
export interface IndexDetails {
indexName: string;
order: string;
}
export interface RequestEvent<T> extends Event {
target: RequestEventTarget<T>;
}
export interface RequestEventTarget<T> extends EventTarget {
result: T | T[];
}
export declare enum DBMode {
readonly = "readonly",
readwrite = "readwrite"
}
export declare type Key = string | number | Date | ArrayBufferView | ArrayBuffer | IDBArrayKey | IDBKeyRange;
export declare const CONFIG_TOKEN: InjectionToken<DBConfig>;