kui-utils 0.0.35 → 0.0.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cjs/index.js CHANGED
@@ -2105,6 +2105,13 @@ function cleanObjectForIndexDB(value) {
2105
2105
  return value;
2106
2106
  }
2107
2107
  var transactionQueue = Promise.resolve();
2108
+ var errorHandler = function (err, data) {
2109
+ var Sentry = kuiUtilsSettings.getSettings().Sentry;
2110
+ if (err)
2111
+ Sentry === null || Sentry === void 0 ? void 0 : Sentry.captureException(err);
2112
+ if (data)
2113
+ Sentry === null || Sentry === void 0 ? void 0 : Sentry.captureMessage(JSON.stringify(data));
2114
+ };
2108
2115
  function addToIndexDBWithQueue(db, storeName, data, loader) {
2109
2116
  transactionQueue = transactionQueue
2110
2117
  .then(function () {
@@ -2114,14 +2121,17 @@ function addToIndexDBWithQueue(db, storeName, data, loader) {
2114
2121
  var store = transaction.objectStore(storeName);
2115
2122
  // eslint-disable-next-line no-param-reassign
2116
2123
  data.id = 1;
2117
- var formattedData = cleanObjectForIndexDB(data);
2118
- var request_1 = store.put(formattedData);
2124
+ var formattedData_1 = cleanObjectForIndexDB(data);
2125
+ var request_1 = store.put(formattedData_1);
2119
2126
  request_1.onsuccess = function () {
2120
2127
  resolve(request_1);
2121
2128
  };
2122
- request_1.onerror = function () {
2123
- loader.setError("Не удалось сохранить данные в локальное хранилище");
2124
- reject();
2129
+ request_1.onerror = function (event) {
2130
+ var _a;
2131
+ var error = ((_a = event.target) === null || _a === void 0 ? void 0 : _a.error) || new Error("Unknown IndexedDB error");
2132
+ loader.setError("Не удалось сохранить данные в локальное хранилище", error);
2133
+ errorHandler(error, formattedData_1);
2134
+ reject(error);
2125
2135
  };
2126
2136
  }
2127
2137
  });
@@ -2138,8 +2148,10 @@ var readFromIndexDB = function (db, name, loader) { return __awaiter(void 0, voi
2138
2148
  request_2 = transaction.getAll();
2139
2149
  return [2 /*return*/, new Promise(function (resolve, reject) {
2140
2150
  request_2.onerror = function () {
2151
+ var error = request_2.error;
2152
+ loader.setError("Не удалось прочитать данные с локального хранилища", error);
2153
+ errorHandler(error, request_2);
2141
2154
  reject();
2142
- loader.setError("Не удалось сохранить данные в локальное хранилище");
2143
2155
  };
2144
2156
  request_2.onsuccess = function () {
2145
2157
  var _a;
@@ -2153,6 +2165,7 @@ var readFromIndexDB = function (db, name, loader) { return __awaiter(void 0, voi
2153
2165
  var initIndexDB = function (dbName, onupgradeneeded, loader, setIndexDB) {
2154
2166
  var dbRequest = indexedDB.open(dbName, 1);
2155
2167
  dbRequest.onerror = function () {
2168
+ errorHandler(dbRequest.error, "Ошибка при открытии хранилища на устройстве");
2156
2169
  loader.setError("Ошибка при открытии хранилища на устройстве. Данные не будут сохраняться локально");
2157
2170
  };
2158
2171
  dbRequest.onsuccess = function () {
@@ -2168,9 +2181,17 @@ var addIndexDBStore = function (db, name) {
2168
2181
  };
2169
2182
  var clearIndexStore = function (db, name) {
2170
2183
  if (db) {
2171
- var transaction = db.transaction(name, "readwrite");
2172
- var objectStore = transaction.objectStore(name);
2173
- objectStore.clear();
2184
+ var transaction_1 = db.transaction(name, "readwrite");
2185
+ transaction_1.onerror = function () {
2186
+ var error = transaction_1.error;
2187
+ errorHandler(error, "\u041E\u0448\u0438\u0431\u043A\u0430 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0438: ".concat(name));
2188
+ };
2189
+ var objectStore = transaction_1.objectStore(name);
2190
+ var objectStoreRequest_1 = objectStore.clear();
2191
+ objectStoreRequest_1.onerror = function () {
2192
+ var error = objectStoreRequest_1.error;
2193
+ errorHandler(error, "\u041E\u0448\u0438\u0431\u043A\u0430 \u043E\u0447\u0438\u0441\u0442\u043A\u0438 objectStore: ".concat(name));
2194
+ };
2174
2195
  }
2175
2196
  };
2176
2197
  var clearIndexStores = function (db, stores) {