@xylabs/indexed-db
v5.0.79
Published
Base functionality used throughout XY Labs TypeScript/JavaScript libraries
Downloads
2,794
Readme
@xylabs/indexed-db
Base functionality used throughout XY Labs TypeScript/JavaScript libraries
Reference
@xylabs/indexed-db
Classes
Interfaces
Type Aliases
Variables
Functions
- buildStandardIndexName
- checkDbNeedsUpgrade
- createStoreDuringUpgrade
- getExistingIndexes
- withDb
- withDbByVersion
- withReadOnlyStore
- withReadWriteStore
- withStore
classes
IndexedDbKeyValueStore
An IndexedDB key/value store.
Type Parameters
T
T extends DBSchema
S
S extends StoreNames<T>
Implements
KeyValueStore<StoreValue<T,S>,StoreKey<T,S>>
Constructors
Constructor
new IndexedDbKeyValueStore<T, S>(dbName, storeName): IndexedDbKeyValueStore<T, S>;Parameters
dbName
string
storeName
S
Returns
IndexedDbKeyValueStore<T, S>
Properties
dbName
readonly dbName: string;storeName
readonly storeName: S;Methods
clear()?
optional clear(): Promise<void>;Returns
Promise<void>
Implementation of
KeyValueStore.cleardelete()
delete(key): Promise<void>;Parameters
key
StoreKey<T, S>
Returns
Promise<void>
Implementation of
KeyValueStore.deleteget()
get(key): Promise<undefined | StoreValue<T, S>>;Returns a promise that resolves to the value for the given key.
Parameters
key
StoreKey<T, S>
The key to get the value for.
Returns
Promise<undefined | StoreValue<T, S>>
Implementation of
KeyValueStore.getkeys()?
optional keys(): Promise<StoreKey<T, S>[]>;The keys an array of keys.
Returns
Promise<StoreKey<T, S>[]>
Implementation of
KeyValueStore.keysset()
set(key, value): Promise<void>;Parameters
key
StoreKey<T, S>
value
StoreValue<T, S>
Returns
Promise<void>
Implementation of
KeyValueStore.setwithDb()
withDb<R>(callback): Promise<R>;Type Parameters
R
R = StoreValue<T, S>
Parameters
callback
(db) => R | Promise<R>
Returns
Promise<R>
functions
buildStandardIndexName
function buildStandardIndexName(index): string;Given an index description, this will build the index name in standard form
Parameters
index
The index description
Returns
string
The index name in standard form
checkDbNeedsUpgrade
function checkDbNeedsUpgrade(
dbName,
stores,
logger?): Promise<number>;Parameters
dbName
string
stores
Record<string, IndexDescription[]>
logger?
Logger
Returns
Promise<number>
createStoreDuringUpgrade
function createStoreDuringUpgrade<DBTypes>(
db,
storeName,
indexes,
logger?): void;Type Parameters
DBTypes
DBTypes extends unknown = unknown
Parameters
db
IDBPDatabase<DBTypes>
storeName
StoreNames<DBTypes>
indexes
logger?
Logger
Returns
void
getExistingIndexes
function getExistingIndexes<T>(
db,
storeName,
logger?): Promise<null | IndexDescription[]>;Type Parameters
T
T extends object = object
Parameters
db
string | IDBPDatabase<ObjectStore<T>>
storeName
StoreNames<ObjectStore<T>>
logger?
Logger
Returns
Promise<null | IndexDescription[]>
withDb
function withDb<DBTypes, R>(
dbName,
callback,
expectedIndexes?,
logger?,
lock?): Promise<R>;Type Parameters
DBTypes
DBTypes extends unknown = unknown
R
R = object
Parameters
dbName
string
callback
(db) => R | Promise<R>
expectedIndexes?
Record<string, IndexDescription[]>
logger?
Logger
lock?
boolean = true
Returns
Promise<R>
withDbByVersion
function withDbByVersion<DBTypes, R>(
dbName,
callback,
version?,
expectedIndexes?,
logger?,
lock?): Promise<R>;Type Parameters
DBTypes
DBTypes extends unknown = unknown
R
R = object
Parameters
dbName
string
callback
(db) => R | Promise<R>
version?
number
expectedIndexes?
Record<string, IndexDescription[]>
logger?
Logger
lock?
boolean = true
Returns
Promise<R>
withReadOnlyStore
function withReadOnlyStore<T, R>(
db,
storeName,
callback,
logger?): Promise<R>;Type Parameters
T
T extends object = object
R
R = T
Parameters
db
IDBPDatabase<ObjectStore<T>>
storeName
StoreNames<ObjectStore<T>>
callback
(store) => R | Promise<R>
logger?
Logger
Returns
Promise<R>
withReadWriteStore
function withReadWriteStore<T, R>(
db,
storeName,
callback,
logger?): Promise<R>;Type Parameters
T
T extends object = object
R
R = T
Parameters
db
IDBPDatabase<ObjectStore<T>>
storeName
StoreNames<ObjectStore<T>>
callback
(store) => R | Promise<R>
logger?
Logger
Returns
Promise<R>
withStore
function withStore<T, R, M>(
db,
storeName,
callback,
mode,
logger?): Promise<R>;Type Parameters
T
T extends object = object
R
R = T
M
M extends "readonly" | "readwrite" = "readonly"
Parameters
db
IDBPDatabase<ObjectStore<T>>
storeName
StoreNames<ObjectStore<T>>
callback
(store) => R | Promise<R>
mode
M
logger?
Logger
Returns
Promise<R>
interfaces
ObjectStore
Type Parameters
T
T extends EmptyObject = EmptyObject
Indexable
[s: string]: Ttype-aliases
IndexDescription
type IndexDescription = object;Description of index(es) to be created on a store
Properties
key
key: Record<string, IndexDirection>;The key(s) to index
multiEntry?
optional multiEntry: boolean;Is the indexed value an array
unique?
optional unique: boolean;If true, the index must enforce uniqueness on the key
IndexDirection
type IndexDirection = -1 | 1;The index direction (1 for ascending, -1 for descending)
variables
IndexSeparator
const IndexSeparator: "-" = '-';Part of sdk-js
Maintainers
License
See the LICENSE file for license details
