@neocomplexx/ngx-neo-indexeddb
Version:
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.0.5.
56 lines • 4.68 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export class DbWrapper {
/**
* @param {?} dbName
* @param {?} version
*/
constructor(dbName, version) {
this.dbName = dbName;
this.dbVersion = version || 1;
this.db = null;
}
/**
* @param {?} storeName
* @return {?}
*/
validateStoreName(storeName) {
return this.db.objectStoreNames.contains(storeName);
}
/**
* @param {?} storeName
* @param {?} reject
* @return {?}
*/
validateBeforeTransaction(storeName, reject) {
if (!this.db) {
reject('You need to use the openDatabase function to create a database before you query it!');
}
if (!this.validateStoreName(storeName)) {
reject(('objectStore does not exists: ' + storeName));
}
}
/**
* @param {?} options
* @return {?}
*/
createTransaction(options) {
/** @type {?} */
const trans = this.db.transaction(options.storeName, options.dbMode);
trans.onerror = options.error;
trans.oncomplete = options.complete;
trans.onabort = options.abort;
return trans;
}
}
if (false) {
/** @type {?} */
DbWrapper.prototype.dbName;
/** @type {?} */
DbWrapper.prototype.dbVersion;
/** @type {?} */
DbWrapper.prototype.db;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJXcmFwcGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5lb2NvbXBsZXh4L25neC1uZW8taW5kZXhlZGRiLyIsInNvdXJjZXMiOlsibGliL2NsYXNzZXMvZGJXcmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNLE9BQU8sU0FBUzs7Ozs7SUFLbEIsWUFBWSxNQUFjLEVBQUUsT0FBZTtRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs7Ozs7SUFFRCxpQkFBaUIsQ0FBQyxTQUFpQjtRQUMvQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7Ozs7OztJQUVELHlCQUF5QixDQUFDLFNBQWlCLEVBQUUsTUFBZ0I7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDVixNQUFNLENBQUMscUZBQXFGLENBQUMsQ0FBQztTQUNqRztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDcEMsTUFBTSxDQUFDLENBQUMsK0JBQStCLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztTQUN6RDtJQUNMLENBQUM7Ozs7O0lBRUQsaUJBQWlCLENBQ2IsT0FLQzs7Y0FDSyxLQUFLLEdBQW1CLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUNwRixLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDOUIsS0FBSyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ3BDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0o7OztJQXBDRywyQkFBZTs7SUFDZiw4QkFBa0I7O0lBQ2xCLHVCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBEYldyYXBwZXIge1xyXG4gICAgZGJOYW1lOiBzdHJpbmc7XHJcbiAgICBkYlZlcnNpb246IG51bWJlcjtcclxuICAgIGRiOiBJREJEYXRhYmFzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihkYk5hbWU6IHN0cmluZywgdmVyc2lvbjogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5kYk5hbWUgPSBkYk5hbWU7XHJcbiAgICAgICAgdGhpcy5kYlZlcnNpb24gPSB2ZXJzaW9uIHx8IDE7XHJcbiAgICAgICAgdGhpcy5kYiA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgdmFsaWRhdGVTdG9yZU5hbWUoc3RvcmVOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKHN0b3JlTmFtZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdmFsaWRhdGVCZWZvcmVUcmFuc2FjdGlvbihzdG9yZU5hbWU6IHN0cmluZywgcmVqZWN0OiBGdW5jdGlvbikge1xyXG4gICAgICAgIGlmICghdGhpcy5kYikge1xyXG4gICAgICAgICAgICByZWplY3QoJ1lvdSBuZWVkIHRvIHVzZSB0aGUgb3BlbkRhdGFiYXNlIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIGRhdGFiYXNlIGJlZm9yZSB5b3UgcXVlcnkgaXQhJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghdGhpcy52YWxpZGF0ZVN0b3JlTmFtZShzdG9yZU5hbWUpKSB7XHJcbiAgICAgICAgICAgIHJlamVjdCgoJ29iamVjdFN0b3JlIGRvZXMgbm90IGV4aXN0czogJyArIHN0b3JlTmFtZSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVUcmFuc2FjdGlvbihcclxuICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgIHN0b3JlTmFtZTogc3RyaW5nLCBkYk1vZGU6IElEQlRyYW5zYWN0aW9uTW9kZSxcclxuICAgICAgICAgICAgZXJyb3I6IChlOiBFdmVudCkgPT4gYW55LFxyXG4gICAgICAgICAgICBjb21wbGV0ZTogKGU6IEV2ZW50KSA9PiBhbnksXHJcbiAgICAgICAgICAgIGFib3J0PzogKGU6IEV2ZW50KSA9PiBhbnlcclxuICAgICAgICB9KTogSURCVHJhbnNhY3Rpb24ge1xyXG4gICAgICAgIGNvbnN0IHRyYW5zOiBJREJUcmFuc2FjdGlvbiA9IHRoaXMuZGIudHJhbnNhY3Rpb24ob3B0aW9ucy5zdG9yZU5hbWUsIG9wdGlvbnMuZGJNb2RlKTtcclxuICAgICAgICB0cmFucy5vbmVycm9yID0gb3B0aW9ucy5lcnJvcjtcclxuICAgICAgICB0cmFucy5vbmNvbXBsZXRlID0gb3B0aW9ucy5jb21wbGV0ZTtcclxuICAgICAgICB0cmFucy5vbmFib3J0ID0gb3B0aW9ucy5hYm9ydDtcclxuICAgICAgICByZXR1cm4gdHJhbnM7XHJcbiAgICB9XHJcbn1cclxuIl19