kui-utils 0.0.33 → 0.0.35

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
@@ -61,7 +61,7 @@ declare const getNestedData: (data: any, key: string) => any;
61
61
 
62
62
  declare const getPhoneNumberFromPhoneParams: ({ phoneCode, phoneNumber }: PhoneParams, fill?: string | undefined) => string;
63
63
 
64
- declare const getPhoneParamsFromString: (phone: string) => PhoneParams | null;
64
+ declare const getPhoneParamsFromString: (phone?: string | null | undefined) => PhoneParams | null;
65
65
 
66
66
  declare const promisesWithCallback: (promises: Promise<any>[], callback?: Function | undefined) => Promise<PromiseSettledResult<any>[]>;
67
67
 
@@ -153,6 +153,8 @@ declare const toNumber: (value?: string | number | null | undefined) => number |
153
153
 
154
154
  declare const updateQueryParams: (newLink: string, withBase?: boolean | undefined) => void;
155
155
 
156
+ declare const longPolling: <T>(callback: () => Promise<any>, errorHandler: (data: any) => void, stopCondition: (data: T) => boolean, delay: number) => Promise<T | null>;
157
+
156
158
  declare function addToIndexDBWithQueue(db: any, storeName: string, data: any, loader: Loader$1): void;
157
159
  declare const readFromIndexDB: (db: any, name: string, loader: Loader$1) => Promise<any>;
158
160
  declare const initIndexDB: (dbName: string, onupgradeneeded: (db: any) => void, loader: Loader$1, setIndexDB: (db: any) => void) => void;
@@ -216,4 +218,4 @@ declare class KUIUtilsSettings {
216
218
  }
217
219
  declare const kuiUtilsSettings: KUIUtilsSettings;
218
220
 
219
- export { Editor, kuiUtilsSettings as KUIUtilsSettings, Loader, MultistepForm, ObjectType, PaginationRes, Paginator, PhoneParams, ResHandlerParams, SortOrder, SortingFilter, Values, accountRegExp, addIndexDBStore, addLeadZero, addToArrayByCondition, addToIndexDBWithQueue, applyMask, bicRegExp, callPromises, carNumberRegExp, checkIsIOS, cleanEmptyFields, clearIndexStore, clearIndexStores, clearNotValidFields, copyInfo, corrAccountRegExp, _default as countries, cropText, dateRegExp, declineByNumber, deleteCookie, emailRegExp, formatError, generateFormDataBody, getChangedValue, getCookie, getFileNameFromFile, getFileNameFromUrl, getNestedData, getPhoneNumberFromPhoneParams, getPhoneParamsFromString, initIndexDB, innRegExp, isValidWithMaskExp, mediumPasswordRegExp, monthYearRegExp, phoneRegExp, promisesWithCallback, readFromIndexDB, resHandler, setCookie, simplePasswordRegExp, strongPasswordRegExp, swiftRegExp, toNumber, updateQueryParams, useDebounce, useForkRef, useTabIndex, useToggle, useWindowWidth };
221
+ export { Editor, kuiUtilsSettings as KUIUtilsSettings, Loader, MultistepForm, ObjectType, PaginationRes, Paginator, PhoneParams, ResHandlerParams, SortOrder, SortingFilter, Values, accountRegExp, addIndexDBStore, addLeadZero, addToArrayByCondition, addToIndexDBWithQueue, applyMask, bicRegExp, callPromises, carNumberRegExp, checkIsIOS, cleanEmptyFields, clearIndexStore, clearIndexStores, clearNotValidFields, copyInfo, corrAccountRegExp, _default as countries, cropText, dateRegExp, declineByNumber, deleteCookie, emailRegExp, formatError, generateFormDataBody, getChangedValue, getCookie, getFileNameFromFile, getFileNameFromUrl, getNestedData, getPhoneNumberFromPhoneParams, getPhoneParamsFromString, initIndexDB, innRegExp, isValidWithMaskExp, longPolling, mediumPasswordRegExp, monthYearRegExp, phoneRegExp, promisesWithCallback, readFromIndexDB, resHandler, setCookie, simplePasswordRegExp, strongPasswordRegExp, swiftRegExp, toNumber, updateQueryParams, useDebounce, useForkRef, useTabIndex, useToggle, useWindowWidth };
package/index.js CHANGED
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  import { useState, useMemo, useEffect } from 'react';
3
3
  import _ from 'lodash';
4
4
  import { useLocation } from 'react-router-dom';
5
+ import to from 'await-to-js';
5
6
  import { isObservable, toJS, runInAction, makeAutoObservable } from 'mobx';
6
7
  import { DateTime } from 'luxon';
7
8
 
@@ -1942,6 +1943,8 @@ var getPhoneNumberFromPhoneParams = function (_a, fill) {
1942
1943
 
1943
1944
  var getPhoneParamsFromString = function (phone) {
1944
1945
  var _a;
1946
+ if (!phone)
1947
+ return null;
1945
1948
  var formattedPhone = phone.replace(/\D/g, "");
1946
1949
  var phoneDigits = formattedPhone.split("");
1947
1950
  var phoneCode = ((_a = __spreadArray([], countries, true).find(function (country) {
@@ -2021,6 +2024,30 @@ var updateQueryParams = function (newLink, withBase) {
2021
2024
  window.history.pushState({ route: route }, "", route);
2022
2025
  };
2023
2026
 
2027
+ var longPolling = function (callback, errorHandler, stopCondition, delay) { return __awaiter(void 0, void 0, void 0, function () {
2028
+ var _a, err, res;
2029
+ return __generator(this, function (_b) {
2030
+ switch (_b.label) {
2031
+ case 0: return [4 /*yield*/, to(callback())];
2032
+ case 1:
2033
+ _a = _b.sent(), err = _a[0], res = _a[1];
2034
+ if (err) {
2035
+ errorHandler(err);
2036
+ return [2 /*return*/, null];
2037
+ }
2038
+ if (stopCondition(res)) {
2039
+ return [2 /*return*/, res];
2040
+ }
2041
+ return [4 /*yield*/, new Promise(function (resolve) {
2042
+ setTimeout(resolve, delay);
2043
+ })];
2044
+ case 2:
2045
+ _b.sent();
2046
+ return [2 /*return*/, longPolling(callback, errorHandler, stopCondition, delay)];
2047
+ }
2048
+ });
2049
+ }); };
2050
+
2024
2051
  function cleanObjectForIndexDB(value) {
2025
2052
  if (typeof value === "undefined")
2026
2053
  return null;
@@ -2450,5 +2477,5 @@ var simplePasswordRegExp = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{10,
2450
2477
  var mediumPasswordRegExp = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{12,}$/;
2451
2478
  var strongPasswordRegExp = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{14,}$/;
2452
2479
 
2453
- export { Editor, kuiUtilsSettings as KUIUtilsSettings, Loader, MultistepForm, Paginator, SortingFilter, accountRegExp, addIndexDBStore, addLeadZero, addToArrayByCondition, addToIndexDBWithQueue, applyMask, bicRegExp, callPromises, carNumberRegExp, checkIsIOS, cleanEmptyFields, clearIndexStore, clearIndexStores, clearNotValidFields, copyInfo, corrAccountRegExp, countries, cropText, dateRegExp, declineByNumber, deleteCookie, emailRegExp, formatError, generateFormDataBody, getChangedValue, getCookie, getFileNameFromFile, getFileNameFromUrl, getNestedData, getPhoneNumberFromPhoneParams, getPhoneParamsFromString, initIndexDB, innRegExp, isValidWithMaskExp, mediumPasswordRegExp, monthYearRegExp, phoneRegExp, promisesWithCallback, readFromIndexDB, resHandler, setCookie, simplePasswordRegExp, strongPasswordRegExp, swiftRegExp, toNumber, updateQueryParams, useDebounce, useForkRef, useTabIndex, useToggle, useWindowWidth };
2480
+ export { Editor, kuiUtilsSettings as KUIUtilsSettings, Loader, MultistepForm, Paginator, SortingFilter, accountRegExp, addIndexDBStore, addLeadZero, addToArrayByCondition, addToIndexDBWithQueue, applyMask, bicRegExp, callPromises, carNumberRegExp, checkIsIOS, cleanEmptyFields, clearIndexStore, clearIndexStores, clearNotValidFields, copyInfo, corrAccountRegExp, countries, cropText, dateRegExp, declineByNumber, deleteCookie, emailRegExp, formatError, generateFormDataBody, getChangedValue, getCookie, getFileNameFromFile, getFileNameFromUrl, getNestedData, getPhoneNumberFromPhoneParams, getPhoneParamsFromString, initIndexDB, innRegExp, isValidWithMaskExp, longPolling, mediumPasswordRegExp, monthYearRegExp, phoneRegExp, promisesWithCallback, readFromIndexDB, resHandler, setCookie, simplePasswordRegExp, strongPasswordRegExp, swiftRegExp, toNumber, updateQueryParams, useDebounce, useForkRef, useTabIndex, useToggle, useWindowWidth };
2454
2481
  //# sourceMappingURL=index.js.map