kui-utils 0.0.34 → 0.0.36
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 +56 -15
- package/cjs/index.js.map +1 -1
- package/index.d.ts +8 -6
- package/index.js +55 -16
- package/index.js.map +1 -1
- package/package.json +1 -1
package/cjs/index.js
CHANGED
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var _ = require('lodash');
|
|
7
7
|
var reactRouterDom = require('react-router-dom');
|
|
8
|
+
var to = require('await-to-js');
|
|
8
9
|
var mobx = require('mobx');
|
|
9
10
|
var luxon = require('luxon');
|
|
10
11
|
|
|
@@ -30,6 +31,7 @@ function _interopNamespace(e) {
|
|
|
30
31
|
|
|
31
32
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
32
33
|
var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
|
|
34
|
+
var to__default = /*#__PURE__*/_interopDefaultLegacy(to);
|
|
33
35
|
|
|
34
36
|
function setRef(ref, value) {
|
|
35
37
|
if (typeof ref === "function") {
|
|
@@ -2049,6 +2051,30 @@ var updateQueryParams = function (newLink, withBase) {
|
|
|
2049
2051
|
window.history.pushState({ route: route }, "", route);
|
|
2050
2052
|
};
|
|
2051
2053
|
|
|
2054
|
+
var longPolling = function (callback, errorHandler, stopCondition, delay) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2055
|
+
var _a, err, res;
|
|
2056
|
+
return __generator(this, function (_b) {
|
|
2057
|
+
switch (_b.label) {
|
|
2058
|
+
case 0: return [4 /*yield*/, to__default["default"](callback())];
|
|
2059
|
+
case 1:
|
|
2060
|
+
_a = _b.sent(), err = _a[0], res = _a[1];
|
|
2061
|
+
if (err) {
|
|
2062
|
+
errorHandler(err);
|
|
2063
|
+
return [2 /*return*/, null];
|
|
2064
|
+
}
|
|
2065
|
+
if (stopCondition(res)) {
|
|
2066
|
+
return [2 /*return*/, res];
|
|
2067
|
+
}
|
|
2068
|
+
return [4 /*yield*/, new Promise(function (resolve) {
|
|
2069
|
+
setTimeout(resolve, delay);
|
|
2070
|
+
})];
|
|
2071
|
+
case 2:
|
|
2072
|
+
_b.sent();
|
|
2073
|
+
return [2 /*return*/, longPolling(callback, errorHandler, stopCondition, delay)];
|
|
2074
|
+
}
|
|
2075
|
+
});
|
|
2076
|
+
}); };
|
|
2077
|
+
|
|
2052
2078
|
function cleanObjectForIndexDB(value) {
|
|
2053
2079
|
if (typeof value === "undefined")
|
|
2054
2080
|
return null;
|
|
@@ -2079,7 +2105,7 @@ function cleanObjectForIndexDB(value) {
|
|
|
2079
2105
|
return value;
|
|
2080
2106
|
}
|
|
2081
2107
|
var transactionQueue = Promise.resolve();
|
|
2082
|
-
function addToIndexDBWithQueue(db, storeName, data, loader) {
|
|
2108
|
+
function addToIndexDBWithQueue(db, storeName, data, loader, errorHandler) {
|
|
2083
2109
|
transactionQueue = transactionQueue
|
|
2084
2110
|
.then(function () {
|
|
2085
2111
|
return new Promise(function (resolve, reject) {
|
|
@@ -2088,14 +2114,17 @@ function addToIndexDBWithQueue(db, storeName, data, loader) {
|
|
|
2088
2114
|
var store = transaction.objectStore(storeName);
|
|
2089
2115
|
// eslint-disable-next-line no-param-reassign
|
|
2090
2116
|
data.id = 1;
|
|
2091
|
-
var
|
|
2092
|
-
var request_1 = store.put(
|
|
2117
|
+
var formattedData_1 = cleanObjectForIndexDB(data);
|
|
2118
|
+
var request_1 = store.put(formattedData_1);
|
|
2093
2119
|
request_1.onsuccess = function () {
|
|
2094
2120
|
resolve(request_1);
|
|
2095
2121
|
};
|
|
2096
|
-
request_1.onerror = function () {
|
|
2097
|
-
|
|
2098
|
-
|
|
2122
|
+
request_1.onerror = function (event) {
|
|
2123
|
+
var _a;
|
|
2124
|
+
var error = ((_a = event.target) === null || _a === void 0 ? void 0 : _a.error) || new Error("Unknown IndexedDB error");
|
|
2125
|
+
loader.setError("Не удалось сохранить данные в локальное хранилище", error);
|
|
2126
|
+
errorHandler(error, formattedData_1);
|
|
2127
|
+
reject(error);
|
|
2099
2128
|
};
|
|
2100
2129
|
}
|
|
2101
2130
|
});
|
|
@@ -2104,7 +2133,7 @@ function addToIndexDBWithQueue(db, storeName, data, loader) {
|
|
|
2104
2133
|
console.error("Ошибка в очереди транзакций:", error);
|
|
2105
2134
|
});
|
|
2106
2135
|
}
|
|
2107
|
-
var readFromIndexDB = function (db, name, loader) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2136
|
+
var readFromIndexDB = function (db, name, loader, errorHandler) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2108
2137
|
var transaction, request_2;
|
|
2109
2138
|
return __generator(this, function (_a) {
|
|
2110
2139
|
if (db.objectStoreNames.contains(name)) {
|
|
@@ -2112,8 +2141,10 @@ var readFromIndexDB = function (db, name, loader) { return __awaiter(void 0, voi
|
|
|
2112
2141
|
request_2 = transaction.getAll();
|
|
2113
2142
|
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
2114
2143
|
request_2.onerror = function () {
|
|
2144
|
+
var error = request_2.error;
|
|
2145
|
+
loader.setError("Не удалось прочитать данные с локального хранилища", error);
|
|
2146
|
+
errorHandler(error, request_2);
|
|
2115
2147
|
reject();
|
|
2116
|
-
loader.setError("Не удалось сохранить данные в локальное хранилище");
|
|
2117
2148
|
};
|
|
2118
2149
|
request_2.onsuccess = function () {
|
|
2119
2150
|
var _a;
|
|
@@ -2124,9 +2155,10 @@ var readFromIndexDB = function (db, name, loader) { return __awaiter(void 0, voi
|
|
|
2124
2155
|
return [2 /*return*/, null];
|
|
2125
2156
|
});
|
|
2126
2157
|
}); };
|
|
2127
|
-
var initIndexDB = function (dbName, onupgradeneeded, loader, setIndexDB) {
|
|
2158
|
+
var initIndexDB = function (dbName, onupgradeneeded, loader, setIndexDB, errorHandler) {
|
|
2128
2159
|
var dbRequest = indexedDB.open(dbName, 1);
|
|
2129
2160
|
dbRequest.onerror = function () {
|
|
2161
|
+
errorHandler(dbRequest.error, "Ошибка при открытии хранилища на устройстве");
|
|
2130
2162
|
loader.setError("Ошибка при открытии хранилища на устройстве. Данные не будут сохраняться локально");
|
|
2131
2163
|
};
|
|
2132
2164
|
dbRequest.onsuccess = function () {
|
|
@@ -2140,16 +2172,24 @@ var addIndexDBStore = function (db, name) {
|
|
|
2140
2172
|
db.createObjectStore(name, { keyPath: "id" });
|
|
2141
2173
|
}
|
|
2142
2174
|
};
|
|
2143
|
-
var clearIndexStore = function (db, name) {
|
|
2175
|
+
var clearIndexStore = function (db, name, errorHandler) {
|
|
2144
2176
|
if (db) {
|
|
2145
|
-
var
|
|
2146
|
-
|
|
2147
|
-
|
|
2177
|
+
var transaction_1 = db.transaction(name, "readwrite");
|
|
2178
|
+
transaction_1.onerror = function () {
|
|
2179
|
+
var error = transaction_1.error;
|
|
2180
|
+
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));
|
|
2181
|
+
};
|
|
2182
|
+
var objectStore = transaction_1.objectStore(name);
|
|
2183
|
+
var objectStoreRequest_1 = objectStore.clear();
|
|
2184
|
+
objectStoreRequest_1.onerror = function () {
|
|
2185
|
+
var error = objectStoreRequest_1.error;
|
|
2186
|
+
errorHandler(error, "\u041E\u0448\u0438\u0431\u043A\u0430 \u043E\u0447\u0438\u0441\u0442\u043A\u0438 objectStore: ".concat(name));
|
|
2187
|
+
};
|
|
2148
2188
|
}
|
|
2149
2189
|
};
|
|
2150
|
-
var clearIndexStores = function (db, stores) {
|
|
2190
|
+
var clearIndexStores = function (db, stores, errorHandler) {
|
|
2151
2191
|
Array.from(stores).forEach(function (name) {
|
|
2152
|
-
clearIndexStore(db, name);
|
|
2192
|
+
clearIndexStore(db, name, errorHandler);
|
|
2153
2193
|
});
|
|
2154
2194
|
};
|
|
2155
2195
|
|
|
@@ -2518,6 +2558,7 @@ exports.getPhoneParamsFromString = getPhoneParamsFromString;
|
|
|
2518
2558
|
exports.initIndexDB = initIndexDB;
|
|
2519
2559
|
exports.innRegExp = innRegExp;
|
|
2520
2560
|
exports.isValidWithMaskExp = isValidWithMaskExp;
|
|
2561
|
+
exports.longPolling = longPolling;
|
|
2521
2562
|
exports.mediumPasswordRegExp = mediumPasswordRegExp;
|
|
2522
2563
|
exports.monthYearRegExp = monthYearRegExp;
|
|
2523
2564
|
exports.phoneRegExp = phoneRegExp;
|