idb: fix shimming

This commit is contained in:
Florian Dold 2021-02-18 11:25:23 +01:00
parent fe1b9efae5
commit c800e80138
No known key found for this signature in database
GPG Key ID: D2E4F00F29D02A4B

View File

@ -12,7 +12,7 @@ import {
ResultLevel, ResultLevel,
IndexProperties, IndexProperties,
} from "./backend-interface"; } from "./backend-interface";
import FakeEventTarget, { Listener } from "./util/FakeEventTarget"; import { Listener } from "./util/FakeEventTarget";
import { import {
DatabaseDump, DatabaseDump,
ObjectStoreDump, ObjectStoreDump,
@ -32,6 +32,7 @@ import {
BridgeIDBOpenDBRequest, BridgeIDBOpenDBRequest,
BridgeIDBRequest, BridgeIDBRequest,
BridgeIDBTransaction, BridgeIDBTransaction,
BridgeIDBVersionChangeEvent,
DatabaseList, DatabaseList,
RequestObj, RequestObj,
} from "./bridge-idb"; } from "./bridge-idb";
@ -97,29 +98,20 @@ export { MemoryBackend } from "./MemoryBackend";
*/ */
export function shimIndexedDB(factory: BridgeIDBFactory): void { export function shimIndexedDB(factory: BridgeIDBFactory): void {
// @ts-ignore: shimming // @ts-ignore: shimming
globalThis.indexedDB = factory; const g = globalThis as any;
// @ts-ignore: shimming
globalThis.IDBCursor = BridgeIDBCursor; g.indexedDB = factory;
// @ts-ignore: shimming g.IDBCursor = BridgeIDBCursor;
globalThis.IDBKeyRange = BridgeIDBKeyRange; g.IDBKeyRange = BridgeIDBKeyRange;
// @ts-ignore: shimming g.IDBDatabase = BridgeIDBDatabase;
globalThis.IDBDatabase = BridgeIDBDatabase; g.IDBFactory = BridgeIDBFactory;
// @ts-ignore: shimming g.IDBIndex = BridgeIDBIndex;
globalThis.IDBFactory = BridgeIDBFactory; g.IDBKeyRange = BridgeIDBKeyRange;
// @ts-ignore: shimming g.IDBObjectStore = BridgeIDBObjectStore;
globalThis.IDBIndex = BridgeIDBIndex; g.IDBOpenDBRequest = BridgeIDBOpenDBRequest;
// @ts-ignore: shimming g.IDBRequest = BridgeIDBRequest;
globalThis.IDBKeyRange = BridgeIDBKeyRange; g.IDBTransaction = BridgeIDBTransaction;
// @ts-ignore: shimming g.IDBVersionChangeEvent = BridgeIDBVersionChangeEvent;
globalThis.IDBObjectStore = BridgeIDBObjectStore;
// @ts-ignore: shimming
globalThis.IDBOpenDBRequest = BridgeIDBOpenDBRequest;
// @ts-ignore: shimming
globalThis.IDBRequest = BridgeIDBRequest;
// @ts-ignore: shimming
globalThis.IDBTransaction = BridgeIDBTransaction;
// @ts-ignore: shimming
globalThis.IDBVersionChangeEvent = BridgeIDBVersionChangeEvent;
} }
export * from "./idbtypes"; export * from "./idbtypes";