ngx-indexed-database
Version:
<div align="center"> <img src="https://w3c.github.io/IndexedDB/logo-db.svg" width="120"/> </div> <h1 align="center">ngx-indexed-database</h1>
17 lines • 3.24 kB
JavaScript
export class HelperUtils {
static getDatabaseVersion(dbName) {
return indexedDB.databases().then((databases) => { var _a; return ((_a = databases.find(database => database.name === dbName)) === null || _a === void 0 ? void 0 : _a.version) || 0; });
}
static getIndexedDBStoreSchemaPrimaryKeys(storeSchema) {
return Object.keys(storeSchema).filter(key => storeSchema[key].primary);
}
static promisifyIndexedDBRequest(request, resolveMethod, rejectMethod) {
return new Promise((resolve, reject) => {
request[resolveMethod] = (event) => resolve(event);
if (rejectMethod) {
request[rejectMethod] = (event) => reject(event);
}
});
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWluZGV4ZWQtZGF0YWJhc2Uvc3JjL3V0aWxzL2hlbHBlci51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sV0FBVztJQUN0QixNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBYztRQUN0QyxPQUFRLFNBQWlCLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUN4QyxDQUFDLFNBQThDLEVBQUUsRUFBRSxXQUFDLE9BQUEsQ0FBQSxNQUFBLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBRSxRQUFRLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQywwQ0FBRSxPQUFPLEtBQUksQ0FBQyxDQUFBLEVBQUEsQ0FDeEgsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsa0NBQWtDLENBQUMsV0FBaUM7UUFDekUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsTUFBTSxDQUFDLHlCQUF5QixDQUFDLE9BQW1CLEVBQUUsYUFBcUIsRUFBRSxZQUFxQjtRQUNoRyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3BDLE9BQWUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pFLElBQUksWUFBWSxFQUFFO2dCQUNmLE9BQWUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2hFO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luZGV4ZWREQlN0b3JlU2NoZW1hfSBmcm9tIFwiLi4vbW9kZWxzL0luZGV4ZWREQlN0b3JlU2NoZW1hXCI7XG5cbmV4cG9ydCBjbGFzcyBIZWxwZXJVdGlscyB7XG4gIHN0YXRpYyBnZXREYXRhYmFzZVZlcnNpb24oZGJOYW1lOiBzdHJpbmcpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIHJldHVybiAoaW5kZXhlZERCIGFzIGFueSkuZGF0YWJhc2VzKCkudGhlbihcbiAgICAgIChkYXRhYmFzZXM6IHsgbmFtZTogc3RyaW5nLCB2ZXJzaW9uOiBudW1iZXIgfVtdKSA9PiBkYXRhYmFzZXMuZmluZChkYXRhYmFzZSA9PiAgZGF0YWJhc2UubmFtZSA9PT0gZGJOYW1lKT8udmVyc2lvbiB8fCAwXG4gICAgKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRJbmRleGVkREJTdG9yZVNjaGVtYVByaW1hcnlLZXlzKHN0b3JlU2NoZW1hOiBJbmRleGVkREJTdG9yZVNjaGVtYSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoc3RvcmVTY2hlbWEpLmZpbHRlcihrZXkgPT4gc3RvcmVTY2hlbWFba2V5XS5wcmltYXJ5KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm9taXNpZnlJbmRleGVkREJSZXF1ZXN0KHJlcXVlc3Q6IElEQlJlcXVlc3QsIHJlc29sdmVNZXRob2Q6IHN0cmluZywgcmVqZWN0TWV0aG9kPzogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgKHJlcXVlc3QgYXMgYW55KVtyZXNvbHZlTWV0aG9kXSA9IChldmVudDogYW55KSA9PiByZXNvbHZlKGV2ZW50KTtcbiAgICAgIGlmIChyZWplY3RNZXRob2QpIHtcbiAgICAgICAgKHJlcXVlc3QgYXMgYW55KVtyZWplY3RNZXRob2RdID0gKGV2ZW50OiBhbnkpID0+IHJlamVjdChldmVudCk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxufVxuIl19