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/index.d.ts CHANGED
@@ -202,6 +202,7 @@ declare const _default: ({
202
202
 
203
203
  declare type KUIUtilsSettingsParams = {
204
204
  runMode?: "production" | "development" | "test";
205
+ Sentry?: any;
205
206
  };
206
207
  declare type KUICrmObserver = (settings: KUIUtilsSettingsParams) => void;
207
208
  declare class KUIUtilsSettings {
@@ -211,6 +212,7 @@ declare class KUIUtilsSettings {
211
212
  constructor();
212
213
  getSettings: () => {
213
214
  runMode?: "production" | "development" | "test" | undefined;
215
+ Sentry?: any;
214
216
  };
215
217
  setSettings: (newSettings: KUIUtilsSettingsParams) => void;
216
218
  subscribeToSettings: (observer: KUICrmObserver) => void;
package/index.js CHANGED
@@ -2078,6 +2078,13 @@ function cleanObjectForIndexDB(value) {
2078
2078
  return value;
2079
2079
  }
2080
2080
  var transactionQueue = Promise.resolve();
2081
+ var errorHandler = function (err, data) {
2082
+ var Sentry = kuiUtilsSettings.getSettings().Sentry;
2083
+ if (err)
2084
+ Sentry === null || Sentry === void 0 ? void 0 : Sentry.captureException(err);
2085
+ if (data)
2086
+ Sentry === null || Sentry === void 0 ? void 0 : Sentry.captureMessage(JSON.stringify(data));
2087
+ };
2081
2088
  function addToIndexDBWithQueue(db, storeName, data, loader) {
2082
2089
  transactionQueue = transactionQueue
2083
2090
  .then(function () {
@@ -2087,14 +2094,17 @@ function addToIndexDBWithQueue(db, storeName, data, loader) {
2087
2094
  var store = transaction.objectStore(storeName);
2088
2095
  // eslint-disable-next-line no-param-reassign
2089
2096
  data.id = 1;
2090
- var formattedData = cleanObjectForIndexDB(data);
2091
- var request_1 = store.put(formattedData);
2097
+ var formattedData_1 = cleanObjectForIndexDB(data);
2098
+ var request_1 = store.put(formattedData_1);
2092
2099
  request_1.onsuccess = function () {
2093
2100
  resolve(request_1);
2094
2101
  };
2095
- request_1.onerror = function () {
2096
- loader.setError("Не удалось сохранить данные в локальное хранилище");
2097
- reject();
2102
+ request_1.onerror = function (event) {
2103
+ var _a;
2104
+ var error = ((_a = event.target) === null || _a === void 0 ? void 0 : _a.error) || new Error("Unknown IndexedDB error");
2105
+ loader.setError("Не удалось сохранить данные в локальное хранилище", error);
2106
+ errorHandler(error, formattedData_1);
2107
+ reject(error);
2098
2108
  };
2099
2109
  }
2100
2110
  });
@@ -2111,8 +2121,10 @@ var readFromIndexDB = function (db, name, loader) { return __awaiter(void 0, voi
2111
2121
  request_2 = transaction.getAll();
2112
2122
  return [2 /*return*/, new Promise(function (resolve, reject) {
2113
2123
  request_2.onerror = function () {
2124
+ var error = request_2.error;
2125
+ loader.setError("Не удалось прочитать данные с локального хранилища", error);
2126
+ errorHandler(error, request_2);
2114
2127
  reject();
2115
- loader.setError("Не удалось сохранить данные в локальное хранилище");
2116
2128
  };
2117
2129
  request_2.onsuccess = function () {
2118
2130
  var _a;
@@ -2126,6 +2138,7 @@ var readFromIndexDB = function (db, name, loader) { return __awaiter(void 0, voi
2126
2138
  var initIndexDB = function (dbName, onupgradeneeded, loader, setIndexDB) {
2127
2139
  var dbRequest = indexedDB.open(dbName, 1);
2128
2140
  dbRequest.onerror = function () {
2141
+ errorHandler(dbRequest.error, "Ошибка при открытии хранилища на устройстве");
2129
2142
  loader.setError("Ошибка при открытии хранилища на устройстве. Данные не будут сохраняться локально");
2130
2143
  };
2131
2144
  dbRequest.onsuccess = function () {
@@ -2141,9 +2154,17 @@ var addIndexDBStore = function (db, name) {
2141
2154
  };
2142
2155
  var clearIndexStore = function (db, name) {
2143
2156
  if (db) {
2144
- var transaction = db.transaction(name, "readwrite");
2145
- var objectStore = transaction.objectStore(name);
2146
- objectStore.clear();
2157
+ var transaction_1 = db.transaction(name, "readwrite");
2158
+ transaction_1.onerror = function () {
2159
+ var error = transaction_1.error;
2160
+ 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));
2161
+ };
2162
+ var objectStore = transaction_1.objectStore(name);
2163
+ var objectStoreRequest_1 = objectStore.clear();
2164
+ objectStoreRequest_1.onerror = function () {
2165
+ var error = objectStoreRequest_1.error;
2166
+ errorHandler(error, "\u041E\u0448\u0438\u0431\u043A\u0430 \u043E\u0447\u0438\u0441\u0442\u043A\u0438 objectStore: ".concat(name));
2167
+ };
2147
2168
  }
2148
2169
  };
2149
2170
  var clearIndexStores = function (db, stores) {