UNPKG

@synerty/vortexjs

Version:

Custom observable data serialisation and routing based on Angular 2+

38 lines 5.81 kB
import { dateStr } from "../UtilMisc"; export let indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; export let IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction || window.msIDBTransaction; export let IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange; export function supportsIndexedDb() { return !!indexedDB; } // ---------------------------------------------------------------------------- export class IDBException { message; constructor(message) { this.message = message; } toString() { return "IndexedDB : IDBException: " + this.message; } } export function addIndexedDbHandlers(request, stacktraceFunctor) { request.onerror = (request) => { console.log(dateStr() + "IndexedDB : ERROR " + request.target.error); this.balloonMsg.showError("IndexedDB : ERROR " + request.target.error); stacktraceFunctor(); }; request.onabort = (request) => { console.log(dateStr() + "IndexedDB : ABORT " + request.target.error); this.balloonMsg.showError("IndexedDB : ABORT " + request.target.error); stacktraceFunctor(); }; request.onblock = (request) => { console.log(dateStr() + "IndexedDB : BLOCKED " + request.target.error); this.balloonMsg.showError("IndexedDB : BLOCKED " + request.target.error); stacktraceFunctor(); }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZGRiLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy92b3J0ZXgvc3RvcmFnZS1hcGkvaW5kZXhlZGRiLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBTXJDLE1BQU0sQ0FBQyxJQUFJLFNBQVMsR0FBUSxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxZQUFZO09BQzVELE1BQU0sQ0FBQyxlQUFlLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQTtBQUVuRCxNQUFNLENBQUMsSUFBSSxjQUFjLEdBQVEsTUFBTSxDQUFDLGNBQWM7T0FDL0MsTUFBTSxDQUFDLG9CQUFvQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQTtBQUU3RCxNQUFNLENBQUMsSUFBSSxXQUFXLEdBQVEsTUFBTSxDQUFDLFdBQVc7T0FDekMsTUFBTSxDQUFDLGlCQUFpQixJQUFJLE1BQU0sQ0FBQyxhQUFhLENBQUE7QUFFdkQsTUFBTSxVQUFVLGlCQUFpQjtJQUM3QixPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUE7QUFDdEIsQ0FBQztBQUVELCtFQUErRTtBQUUvRSxNQUFNLE9BQU8sWUFBWTtJQUNGO0lBQW5CLFlBQW1CLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQ2xDLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyw0QkFBNEIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3RELENBQUM7Q0FDSjtBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FDaEMsT0FBTyxFQUNQLGlCQUFpQjtJQUVqQixPQUFPLENBQUMsT0FBTyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxvQkFBb0IsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3BFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdEUsaUJBQWlCLEVBQUUsQ0FBQTtJQUN2QixDQUFDLENBQUE7SUFFRCxPQUFPLENBQUMsT0FBTyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxvQkFBb0IsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3BFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdEUsaUJBQWlCLEVBQUUsQ0FBQTtJQUN2QixDQUFDLENBQUE7SUFFRCxPQUFPLENBQUMsT0FBTyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxzQkFBc0IsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3RFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDeEUsaUJBQWlCLEVBQUUsQ0FBQTtJQUN2QixDQUFDLENBQUE7QUFFTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGF0ZVN0ciB9IGZyb20gXCIuLi9VdGlsTWlzY1wiXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZGVjbGFyZSBsZXQgd2luZG93OiBhbnlcblxuZXhwb3J0IGxldCBpbmRleGVkREI6IGFueSA9IHdpbmRvdy5pbmRleGVkREIgfHwgd2luZG93Lm1vekluZGV4ZWREQlxuICAgIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIgfHwgd2luZG93Lm1zSW5kZXhlZERCXG5cbmV4cG9ydCBsZXQgSURCVHJhbnNhY3Rpb246IGFueSA9IHdpbmRvdy5JREJUcmFuc2FjdGlvblxuICAgIHx8IHdpbmRvdy53ZWJraXRJREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cubXNJREJUcmFuc2FjdGlvblxuXG5leHBvcnQgbGV0IElEQktleVJhbmdlOiBhbnkgPSB3aW5kb3cuSURCS2V5UmFuZ2VcbiAgICB8fCB3aW5kb3cud2Via2l0SURCS2V5UmFuZ2UgfHwgd2luZG93Lm1zSURCS2V5UmFuZ2VcblxuZXhwb3J0IGZ1bmN0aW9uIHN1cHBvcnRzSW5kZXhlZERiKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIWluZGV4ZWREQlxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmV4cG9ydCBjbGFzcyBJREJFeGNlcHRpb24ge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICB9XG4gICAgXG4gICAgdG9TdHJpbmcoKSB7XG4gICAgICAgIHJldHVybiBcIkluZGV4ZWREQiA6IElEQkV4Y2VwdGlvbjogXCIgKyB0aGlzLm1lc3NhZ2VcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRJbmRleGVkRGJIYW5kbGVycyhcbiAgICByZXF1ZXN0LFxuICAgIHN0YWNrdHJhY2VGdW5jdG9yXG4pIHtcbiAgICByZXF1ZXN0Lm9uZXJyb3IgPSAocmVxdWVzdCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhkYXRlU3RyKCkgKyBcIkluZGV4ZWREQiA6IEVSUk9SIFwiICsgcmVxdWVzdC50YXJnZXQuZXJyb3IpXG4gICAgICAgIHRoaXMuYmFsbG9vbk1zZy5zaG93RXJyb3IoXCJJbmRleGVkREIgOiBFUlJPUiBcIiArIHJlcXVlc3QudGFyZ2V0LmVycm9yKVxuICAgICAgICBzdGFja3RyYWNlRnVuY3RvcigpXG4gICAgfVxuICAgIFxuICAgIHJlcXVlc3Qub25hYm9ydCA9IChyZXF1ZXN0KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGRhdGVTdHIoKSArIFwiSW5kZXhlZERCIDogQUJPUlQgXCIgKyByZXF1ZXN0LnRhcmdldC5lcnJvcilcbiAgICAgICAgdGhpcy5iYWxsb29uTXNnLnNob3dFcnJvcihcIkluZGV4ZWREQiA6IEFCT1JUIFwiICsgcmVxdWVzdC50YXJnZXQuZXJyb3IpXG4gICAgICAgIHN0YWNrdHJhY2VGdW5jdG9yKClcbiAgICB9XG4gICAgXG4gICAgcmVxdWVzdC5vbmJsb2NrID0gKHJlcXVlc3QpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coZGF0ZVN0cigpICsgXCJJbmRleGVkREIgOiBCTE9DS0VEIFwiICsgcmVxdWVzdC50YXJnZXQuZXJyb3IpXG4gICAgICAgIHRoaXMuYmFsbG9vbk1zZy5zaG93RXJyb3IoXCJJbmRleGVkREIgOiBCTE9DS0VEIFwiICsgcmVxdWVzdC50YXJnZXQuZXJyb3IpXG4gICAgICAgIHN0YWNrdHJhY2VGdW5jdG9yKClcbiAgICB9XG4gICAgXG59XG4iXX0=