in src/IndexedDbProvider.ts [1042:1065]
private _resolveCursorResult(
req: IDBRequest,
limit?: number,
offset?: number
): Promise<ItemType[]> {
if (this._fakeComplicatedKeys && this._fakedOriginalStore) {
// Get based on the keys from the index store, which have refkeys that point back to the original store
return IndexedDbIndex.getFromCursorRequest<{ key: string; refkey: any }>(
req,
limit,
offset
).then((rets) => {
// Now get the original items using the refkeys from the index store, which are PKs on the main store
const getters = map(rets, (ret) =>
IndexedDbProvider.WrapRequest(
this._fakedOriginalStore!!!.get(ret.refkey)
)
);
return Promise.all(getters);
});
} else {
return IndexedDbIndex.getFromCursorRequest(req, limit, offset);
}
}