in src/IndexedDbProvider.ts [68:86]
constructor(explicitDbFactory?: IDBFactory, explicitDbFactorySupportsCompoundKeys?: boolean) {
super();
if (explicitDbFactory) {
this._dbFactory = explicitDbFactory;
this._fakeComplicatedKeys = !explicitDbFactorySupportsCompoundKeys;
} else {
const win = getWindow();
this._dbFactory = win._indexedDB || win.indexedDB || win.mozIndexedDB || win.webkitIndexedDB || win.msIndexedDB;
if (typeof explicitDbFactorySupportsCompoundKeys !== 'undefined') {
this._fakeComplicatedKeys = !explicitDbFactorySupportsCompoundKeys;
} else {
// IE/Edge's IndexedDB implementation doesn't support compound keys, so we have to fake it by implementing them similar to
// how the WebSqlProvider does, by concatenating the values into another field which then gets its own index.
this._fakeComplicatedKeys = isIE();
}
}
}