@dxtmisha/functional-basic 1.1.0 → 1.1.6

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.
Files changed (178) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/ai-description.txt +1 -0
  3. package/ai-types.txt +1062 -951
  4. package/dist/classes/Api.d.ts +201 -0
  5. package/dist/classes/ApiCache.d.ts +152 -0
  6. package/dist/classes/ApiDataReturn.d.ts +76 -0
  7. package/dist/classes/ApiDefault.d.ts +49 -0
  8. package/dist/classes/ApiHeaders.d.ts +37 -0
  9. package/dist/classes/ApiHydration.d.ts +39 -0
  10. package/dist/classes/ApiInstance.d.ts +283 -0
  11. package/dist/classes/ApiPreparation.d.ts +58 -0
  12. package/dist/classes/ApiResponse.d.ts +154 -0
  13. package/dist/classes/ApiStatus.d.ts +130 -0
  14. package/dist/classes/BroadcastMessage.d.ts +75 -0
  15. package/dist/classes/Cache.d.ts +38 -0
  16. package/dist/classes/CacheItem.d.ts +62 -0
  17. package/dist/classes/CacheStatic.d.ts +36 -0
  18. package/dist/classes/Cookie.d.ts +54 -0
  19. package/dist/classes/CookieBlock.d.ts +30 -0
  20. package/dist/classes/CookieBlockInstance.d.ts +23 -0
  21. package/dist/classes/CookieStorage.d.ts +174 -0
  22. package/dist/classes/DataStorage.d.ts +107 -0
  23. package/dist/classes/Datetime.d.ts +570 -0
  24. package/dist/classes/ErrorCenter.d.ts +72 -0
  25. package/dist/classes/ErrorCenterHandler.d.ts +64 -0
  26. package/dist/classes/ErrorCenterInstance.d.ts +85 -0
  27. package/dist/classes/EventItem.d.ts +251 -0
  28. package/dist/classes/Formatters.d.ts +161 -0
  29. package/dist/classes/Geo.d.ts +151 -0
  30. package/dist/classes/GeoFlag.d.ts +98 -0
  31. package/dist/classes/GeoInstance.d.ts +215 -0
  32. package/dist/classes/GeoIntl.d.ts +304 -0
  33. package/dist/classes/GeoPhone.d.ts +108 -0
  34. package/dist/classes/Global.d.ts +29 -0
  35. package/dist/classes/Hash.d.ts +57 -0
  36. package/dist/classes/HashInstance.d.ts +95 -0
  37. package/dist/classes/Icons.d.ts +128 -0
  38. package/dist/classes/Loading.d.ts +66 -0
  39. package/dist/classes/LoadingInstance.d.ts +99 -0
  40. package/dist/classes/Meta.d.ts +186 -0
  41. package/dist/classes/MetaManager.d.ts +121 -0
  42. package/dist/classes/MetaOg.d.ts +115 -0
  43. package/dist/classes/MetaStatic.d.ts +179 -0
  44. package/dist/classes/MetaTwitter.d.ts +115 -0
  45. package/dist/classes/ResumableTimer.d.ts +81 -0
  46. package/dist/classes/ScrollbarWidth.d.ts +51 -0
  47. package/dist/classes/SearchList.d.ts +128 -0
  48. package/dist/classes/SearchListData.d.ts +143 -0
  49. package/dist/classes/SearchListItem.d.ts +49 -0
  50. package/dist/classes/SearchListMatcher.d.ts +57 -0
  51. package/dist/classes/SearchListOptions.d.ts +66 -0
  52. package/dist/classes/ServerStorage.d.ts +106 -0
  53. package/dist/classes/StorageCallback.d.ts +84 -0
  54. package/dist/classes/Translate.d.ts +119 -0
  55. package/dist/classes/TranslateFile.d.ts +81 -0
  56. package/dist/classes/TranslateInstance.d.ts +206 -0
  57. package/dist/functions/addTagHighlightMatch.d.ts +11 -0
  58. package/dist/functions/anyToString.d.ts +10 -0
  59. package/dist/functions/applyTemplate.d.ts +10 -0
  60. package/dist/functions/arrFill.d.ts +9 -0
  61. package/dist/functions/blobToBase64.d.ts +9 -0
  62. package/dist/functions/capitalize.d.ts +9 -0
  63. package/dist/functions/copyObject.d.ts +10 -0
  64. package/dist/functions/copyObjectLite.d.ts +9 -0
  65. package/dist/functions/createElement.d.ts +21 -0
  66. package/dist/functions/domQuerySelector.d.ts +8 -0
  67. package/dist/functions/domQuerySelectorAll.d.ts +8 -0
  68. package/dist/functions/encodeAttribute.d.ts +8 -0
  69. package/dist/functions/encodeLiteAttribute.d.ts +8 -0
  70. package/dist/functions/ensureMaxSize.d.ts +10 -0
  71. package/dist/functions/escapeExp.d.ts +7 -0
  72. package/dist/functions/eventStopPropagation.d.ts +7 -0
  73. package/dist/functions/executeFunction.d.ts +12 -0
  74. package/dist/functions/executePromise.d.ts +11 -0
  75. package/dist/functions/forEach.d.ts +14 -0
  76. package/dist/functions/frame.d.ts +10 -0
  77. package/dist/functions/getArrayHighlightMatch.d.ts +10 -0
  78. package/dist/functions/getAttributes.d.ts +9 -0
  79. package/dist/functions/getClipboardData.d.ts +9 -0
  80. package/dist/functions/getColumn.d.ts +10 -0
  81. package/dist/functions/getCurrentDate.d.ts +19 -0
  82. package/dist/functions/getCurrentTime.d.ts +15 -0
  83. package/dist/functions/getElement.d.ts +9 -0
  84. package/dist/functions/getElementId.d.ts +26 -0
  85. package/dist/functions/getElementImage.d.ts +8 -0
  86. package/dist/functions/getElementItem.d.ts +12 -0
  87. package/dist/functions/getElementOrWindow.d.ts +8 -0
  88. package/dist/functions/getElementSafeScript.d.ts +9 -0
  89. package/dist/functions/getExactSearchExp.d.ts +8 -0
  90. package/dist/functions/getExp.d.ts +14 -0
  91. package/dist/functions/getHydrationData.d.ts +10 -0
  92. package/dist/functions/getItemByPath.d.ts +9 -0
  93. package/dist/functions/getKey.d.ts +8 -0
  94. package/dist/functions/getLengthOfAllArray.d.ts +8 -0
  95. package/dist/functions/getMaxLengthAllArray.d.ts +9 -0
  96. package/dist/functions/getMinLengthAllArray.d.ts +8 -0
  97. package/dist/functions/getMouseClient.d.ts +9 -0
  98. package/dist/functions/getMouseClientX.d.ts +8 -0
  99. package/dist/functions/getMouseClientY.d.ts +8 -0
  100. package/dist/functions/getObjectByKeys.d.ts +8 -0
  101. package/dist/functions/getObjectNoUndefined.d.ts +9 -0
  102. package/dist/functions/getObjectOrNone.d.ts +8 -0
  103. package/dist/functions/getOnlyText.d.ts +8 -0
  104. package/dist/functions/getRandomText.d.ts +12 -0
  105. package/dist/functions/getRequestString.d.ts +11 -0
  106. package/dist/functions/getSearchExp.d.ts +12 -0
  107. package/dist/functions/getSeparatingSearchExp.d.ts +9 -0
  108. package/dist/functions/getStepPercent.d.ts +9 -0
  109. package/dist/functions/getStepValue.d.ts +9 -0
  110. package/dist/functions/goScroll.d.ts +10 -0
  111. package/dist/functions/goScrollSmooth.d.ts +10 -0
  112. package/dist/functions/goScrollTo.d.ts +10 -0
  113. package/dist/functions/handleShare.d.ts +10 -0
  114. package/dist/functions/inArray.d.ts +9 -0
  115. package/dist/functions/initScrollbarOffset.d.ts +7 -0
  116. package/dist/functions/intersectKey.d.ts +9 -0
  117. package/dist/functions/isApiSuccess.d.ts +9 -0
  118. package/dist/functions/isArray.d.ts +8 -0
  119. package/dist/functions/isDifferent.d.ts +10 -0
  120. package/dist/functions/isDomData.d.ts +7 -0
  121. package/dist/functions/isDomRuntime.d.ts +10 -0
  122. package/dist/functions/isElementVisible.d.ts +11 -0
  123. package/dist/functions/isEnter.d.ts +9 -0
  124. package/dist/functions/isFilled.d.ts +10 -0
  125. package/dist/functions/isFloat.d.ts +8 -0
  126. package/dist/functions/isFunction.d.ts +9 -0
  127. package/dist/functions/isInDom.d.ts +9 -0
  128. package/dist/functions/isInput.d.ts +8 -0
  129. package/dist/functions/isIntegerBetween.d.ts +9 -0
  130. package/dist/functions/isNull.d.ts +9 -0
  131. package/dist/functions/isNumber.d.ts +8 -0
  132. package/dist/functions/isObject.d.ts +8 -0
  133. package/dist/functions/isObjectNotArray.d.ts +8 -0
  134. package/dist/functions/isOnLine.d.ts +7 -0
  135. package/dist/functions/isSelected.d.ts +9 -0
  136. package/dist/functions/isSelectedByList.d.ts +9 -0
  137. package/dist/functions/isShare.d.ts +7 -0
  138. package/dist/functions/isString.d.ts +8 -0
  139. package/dist/functions/isWindow.d.ts +7 -0
  140. package/dist/functions/random.d.ts +9 -0
  141. package/dist/functions/removeCommonPrefix.d.ts +9 -0
  142. package/dist/functions/replaceComponentName.d.ts +9 -0
  143. package/dist/functions/replaceRecursive.d.ts +11 -0
  144. package/dist/functions/replaceTemplate.d.ts +10 -0
  145. package/dist/functions/resizeImageByMax.d.ts +19 -0
  146. package/dist/functions/secondToTime.d.ts +9 -0
  147. package/dist/functions/setElementItem.d.ts +11 -0
  148. package/dist/functions/setValues.d.ts +18 -0
  149. package/dist/functions/sleep.d.ts +8 -0
  150. package/dist/functions/splice.d.ts +13 -0
  151. package/dist/functions/strFill.d.ts +9 -0
  152. package/dist/functions/strSplit.d.ts +12 -0
  153. package/dist/functions/toArray.d.ts +17 -0
  154. package/dist/functions/toCamelCase.d.ts +8 -0
  155. package/dist/functions/toCamelCaseFirst.d.ts +8 -0
  156. package/dist/functions/toDate.d.ts +8 -0
  157. package/dist/functions/toKebabCase.d.ts +15 -0
  158. package/dist/functions/toNumber.d.ts +19 -0
  159. package/dist/functions/toNumberByMax.d.ts +11 -0
  160. package/dist/functions/toPercent.d.ts +9 -0
  161. package/dist/functions/toPercentBy100.d.ts +9 -0
  162. package/dist/functions/toString.d.ts +8 -0
  163. package/dist/functions/transformation.d.ts +21 -0
  164. package/dist/functions/uint8ArrayToBase64.d.ts +8 -0
  165. package/dist/functions/uniqueArray.d.ts +8 -0
  166. package/dist/functions/writeClipboardData.d.ts +8 -0
  167. package/dist/library.d.ts +171 -8722
  168. package/dist/library.js +416 -338
  169. package/dist/media/errorCauseList.d.ts +2 -0
  170. package/dist/types/apiTypes.d.ts +217 -0
  171. package/dist/types/basicTypes.d.ts +131 -0
  172. package/dist/types/errorCenter.d.ts +42 -0
  173. package/dist/types/formattersTypes.d.ts +224 -0
  174. package/dist/types/geoTypes.d.ts +86 -0
  175. package/dist/types/metaTypes.d.ts +586 -0
  176. package/dist/types/searchTypes.d.ts +53 -0
  177. package/dist/types/translateTypes.d.ts +54 -0
  178. package/package.json +7 -5
@@ -0,0 +1,64 @@
1
+ import { ErrorCenterCauseItem, ErrorCenterGroup, ErrorCenterHandlerCallback, ErrorCenterHandlerItem, ErrorCenterHandlerList } from '../types/errorCenter';
2
+ /**
3
+ * Class for managing and triggering error handlers.
4
+ *
5
+ * Класс для управления и вызова обработчиков ошибок.
6
+ */
7
+ export declare class ErrorCenterHandler {
8
+ /** Registered handlers list / Список зарегистрированных обработчиков */
9
+ protected handlers: ErrorCenterHandlerList;
10
+ /**
11
+ * Constructor
12
+ * @param handlers initial handlers list / начальный список обработчиков
13
+ */
14
+ constructor(handlers?: ErrorCenterHandlerList);
15
+ /**
16
+ * Checks if handlers exist for a group.
17
+ *
18
+ * Проверяет наличие обработчиков для группы.
19
+ * @param group error group / группа ошибки
20
+ * @returns true if handlers exist / true, если обработчики существуют
21
+ */
22
+ has(group: ErrorCenterGroup): boolean;
23
+ /**
24
+ * Gets handlers for a group.
25
+ *
26
+ * Получает обработчики для группы.
27
+ * @param group error group / группа ошибки
28
+ * @returns handler item or undefined / элемент обработчика или undefined
29
+ */
30
+ get(group: ErrorCenterGroup): ErrorCenterHandlerItem | undefined;
31
+ /**
32
+ * Adds a handler for a specific group.
33
+ *
34
+ * Добавляет обработчик для определенной группы.
35
+ * @param group error group / группа ошибки
36
+ * @param handler callback function / функция обратного вызова
37
+ * @returns this instance / текущий экземпляр
38
+ */
39
+ add(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this;
40
+ /**
41
+ * Adds a list of group-based handlers.
42
+ *
43
+ * Добавляет список обработчиков по группам.
44
+ * @param handlers handlers list / список обработчиков
45
+ * @returns this instance / текущий экземпляр
46
+ */
47
+ addList(handlers: ErrorCenterHandlerList): this;
48
+ /**
49
+ * Triggers handlers for a group and logs to console.
50
+ *
51
+ * Вызывает обработчики для группы и выводит ошибку в консоль.
52
+ * @param cause error cause details / детали причины ошибки
53
+ * @returns this instance / текущий экземпляр
54
+ */
55
+ on(cause: ErrorCenterCauseItem): this;
56
+ /**
57
+ * Logs error cause to the console.
58
+ *
59
+ * Выводит причину ошибки в консоль.
60
+ * @param cause error details / детали ошибки
61
+ * @returns this instance / текущий экземпляр
62
+ */
63
+ protected toConsole(cause: ErrorCenterCauseItem): this;
64
+ }
@@ -0,0 +1,85 @@
1
+ import { ErrorCenterHandler } from './ErrorCenterHandler';
2
+ import { ErrorCenterCauseItem, ErrorCenterCauseList, ErrorCenterGroup, ErrorCenterHandlerCallback, ErrorCenterHandlerList } from '../types/errorCenter';
3
+ /**
4
+ * Class for managing error storage and handling within an instance.
5
+ *
6
+ * Класс для управления хранилищем ошибок и их обработкой внутри экземпляра.
7
+ */
8
+ export declare class ErrorCenterInstance {
9
+ protected handler: ErrorCenterHandler;
10
+ /** List of stored error causes / Список сохраненных причин ошибок */
11
+ protected causes: ErrorCenterCauseList;
12
+ /**
13
+ * Constructor
14
+ * @param causes initial list of error causes / начальный список причин ошибок
15
+ * @param handler handler instance / экземпляр обработчика
16
+ */
17
+ constructor(causes?: ErrorCenterCauseList, handler?: ErrorCenterHandler);
18
+ /**
19
+ * Checks if a cause with specific code exists.
20
+ *
21
+ * Проверяет наличие причины с конкретным кодом.
22
+ * @param code error code / код ошибки
23
+ * @param group error group / группа ошибки
24
+ * @returns true if cause exists / true, если причина существует
25
+ */
26
+ has(code: string, group?: string): boolean;
27
+ /**
28
+ * Gets a specific error cause by code and group.
29
+ *
30
+ * Получает конкретную причину ошибки по коду и группе.
31
+ * @param code error code / код ошибки
32
+ * @param group error group / группа ошибки
33
+ * @returns error cause item or undefined / элемент причины ошибки или undefined
34
+ */
35
+ get(code: string, group?: string): ErrorCenterCauseItem | undefined;
36
+ /**
37
+ * Adds an error cause to the storage.
38
+ *
39
+ * Добавляет причину ошибки в хранилище.
40
+ * @param cause error cause item / элемент причины ошибки
41
+ * @returns this instance / текущий экземпляр
42
+ */
43
+ add(cause: ErrorCenterCauseItem): this;
44
+ /**
45
+ * Adds a list of error causes to the storage.
46
+ *
47
+ * Добавляет список причин ошибок в хранилище.
48
+ * @param causes error causes list / список причин ошибок
49
+ * @returns this instance / текущий экземпляр
50
+ */
51
+ addList(causes: ErrorCenterCauseList): this;
52
+ /**
53
+ * Registers a new handler.
54
+ *
55
+ * Регистрирует новый обработчик.
56
+ * @param group target group / целевая группа
57
+ * @param handler handler callback / обратный вызов обработчика
58
+ * @returns this instance / текущий экземпляр
59
+ */
60
+ addHandler(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this;
61
+ /**
62
+ * Registers a list of handlers.
63
+ *
64
+ * Регистрирует список обработчиков.
65
+ * @param handlers handlers list / список обработчиков
66
+ * @returns this instance / текущий экземпляр
67
+ */
68
+ addHandlerList(handlers: ErrorCenterHandlerList): this;
69
+ /**
70
+ * Triggers error handling for a group.
71
+ *
72
+ * Вызывает обработку ошибки для группы.
73
+ * @param cause error cause details / детали причины ошибки
74
+ * @returns this instance / текущий экземпляр
75
+ */
76
+ on(cause: ErrorCenterCauseItem): this;
77
+ /**
78
+ * Merges provided cause with stored cause data.
79
+ *
80
+ * Объединяет предоставленную причину с сохраненными данными причины.
81
+ * @param cause input cause / входная причина
82
+ * @returns merged error cause / объединенная причина ошибки
83
+ */
84
+ protected assign(cause: ErrorCenterCauseItem): ErrorCenterCauseItem;
85
+ }
@@ -0,0 +1,251 @@
1
+ import { ElementOrString, ElementOrWindow, EventActivityItem, EventListenerDetail, EventOptions } from '../types/basicTypes';
2
+ /**
3
+ * Advanced wrapper for managing event listeners on DOM elements or the `window` object.
4
+ *
5
+ * `EventItem` simplifies the entire event lifecycle (start, stop, toggle, reset), provides
6
+ * built-in optimizations for high-frequency events, and ensures DOM safety by automatically
7
+ * checking if elements are still in the document.
8
+ *
9
+ * ### Key Features:
10
+ * - **Lifecycle Control**: Easily `start`, `stop`, `toggle`, or `reset` event listeners.
11
+ * - **DOM Safety**: Automatically halts the event if the target element is removed from the DOM.
12
+ * - **Specialized Optimizations**:
13
+ * - `resize`: Uses `ResizeObserver` for any HTML element (not limited to `window`).
14
+ * - `scroll-sync`: High-performance scroll tracking using `requestAnimationFrame`.
15
+ * - **Dynamic Configuration**: Chained setters for target element, event type, listener, and options.
16
+ * - **Custom Event Dispatching**: Built-in support for triggering events with custom data via `dispatch`.
17
+ * - **Strict Typing**: Generic support for elements, event objects, and custom detail data.
18
+ *
19
+ * ---
20
+ *
21
+ * Продвинутая обертка для управления слушателями событий на DOM-элементах или объекте `window`.
22
+ *
23
+ * `EventItem` упрощает весь жизненный цикл событий (запуск, остановка, переключение, сброс),
24
+ * предоставляет встроенную оптимизацию для тяжелых событий и гарантирует безопасность работы с DOM,
25
+ * автоматически проверяя наличие элементов в документе.
26
+ *
27
+ * ### Ключевые особенности:
28
+ * - **Управление циклом**: Простой контроль через методы `start`, `stop`, `toggle` и `reset`.
29
+ * - **Безопасность DOM**: Автоматическая остановка события, если целевой элемент удален из DOM.
30
+ * - **Специальные оптимизации**:
31
+ * - `resize`: Использует `ResizeObserver` для любых HTML-элементов (не только для `window`).
32
+ * - `scroll-sync`: Высокопроизводительный трекинг скролла через `requestAnimationFrame`.
33
+ * - **Динамическая настройка**: Чейнинг сеттеров для смены цели, типа события, метода или опций.
34
+ * - **Диспетчеризация**: Встроенная поддержка вызова событий с передачей пользовательских данных через `dispatch`.
35
+ * - **Строгая типизация**: Поддержка дженериков для типа элемента, объекта события и структуры данных.
36
+ *
37
+ * ---
38
+ *
39
+ * ### Usage Examples / Примеры использования:
40
+ *
41
+ * #### 1. Basic Listener / Базовый слушатель
42
+ * ```typescript
43
+ * const clickEvent = new EventItem('.btn', 'click', (e) => console.log('Clicked!'));
44
+ * clickEvent.start();
45
+ * ```
46
+ *
47
+ * #### 2. Specialized 'resize' and 'scroll-sync' / Оптимизированные 'resize' и 'scroll-sync'
48
+ * ```typescript
49
+ * // Tracks any element's size / Отслеживает размер любого элемента
50
+ * const resizeEvent = new EventItem('.box', 'resize', (entry) => console.log('New size:', entry));
51
+ *
52
+ * // Performance-optimized scroll / Оптимизированный скролл
53
+ * const scrollEvent = new EventItem(window, 'scroll-sync', () => console.log('Scrolling...'));
54
+ *
55
+ * resizeEvent.start();
56
+ * scrollEvent.start();
57
+ * ```
58
+ *
59
+ * #### 3. Custom Data and Dispatching / Пользовательские данные и диспетчеризация
60
+ * ```typescript
61
+ * interface UserData { id: number }
62
+ * const emitter = new EventItem<Window, CustomEvent, UserData>(window, 'user-update');
63
+ *
64
+ * emitter.setListener((e, detail) => {
65
+ * console.log('Update received for ID:', detail?.id);
66
+ * });
67
+ *
68
+ * emitter.start();
69
+ *
70
+ * // Trigger manually with data / Вызов вручную с данными
71
+ * emitter.dispatch({ id: 456 });
72
+ * ```
73
+ *
74
+ * #### 4. Chaining and Dynamic Updates / Чейнинг и динамическое обновление
75
+ * ```typescript
76
+ * const tracker = new EventItem('.item-1', 'mousemove', (e) => console.log(e.clientX));
77
+ *
78
+ * // Switch element on the fly / Переключение элемента "на лету"
79
+ * tracker.start().setElement('.item-2');
80
+ * ```
81
+ */
82
+ export declare class EventItem<E extends ElementOrWindow, O extends Event, D extends Record<string, any> = Record<string, any>> {
83
+ protected listener?: EventListenerDetail<O, D> | undefined;
84
+ protected options?: EventOptions;
85
+ protected detail?: D | undefined;
86
+ /**
87
+ * Element.
88
+ *
89
+ * Элемент.
90
+ */
91
+ protected element?: E;
92
+ /**
93
+ * Element for checking. If the element is missing in the DOM, the event is turned off.
94
+ *
95
+ * Элемент для проверки. Если элемент отсутствует в DOM, событие выключается.
96
+ */
97
+ protected elementControl?: ElementOrWindow;
98
+ protected elementControlEdit?: boolean;
99
+ /**
100
+ * A case-sensitive string representing the event type to listen for.
101
+ *
102
+ * Чувствительная к регистру строка, представляющая тип обрабатываемого события.
103
+ */
104
+ protected type: string[];
105
+ /**
106
+ * The object that receives a notification (an object that implements the Event interface)
107
+ * when an event of the specified type occurs. This must be null, an object with a
108
+ * handleEvent() method, or a JavaScript function.
109
+ *
110
+ * Объект, который принимает уведомление, когда событие указанного типа произошло.
111
+ * Это должен быть объект, реализующий интерфейс EventListener или просто функция JavaScript.
112
+ */
113
+ protected listenerRecent: (event?: O | ResizeObserverEntry) => void;
114
+ /**
115
+ * Event states.
116
+ *
117
+ * Состояния события.
118
+ */
119
+ protected activity: boolean;
120
+ protected activityItems: EventActivityItem<E>[];
121
+ /**
122
+ * Constructor for EventItem.
123
+ *
124
+ * Конструктор для EventItem.
125
+ * @param elementSelector target element or selector where the listener should be attached / целевой элемент или селектор, к которому должен быть прикреплен слушатель
126
+ * @param type event type (e.g., 'click'), array of types, or special optimization types ('resize', 'scroll-sync') / тип события (например, 'click'), массив типов или специальные типы оптимизации ('resize', 'scroll-sync')
127
+ * @param listener the handler function to be executed when the event occurs / функция-обработчик, которая будет выполнена при возникновении события
128
+ * @param options standard EventListenerOptions or boolean for useCapture / стандартные EventListenerOptions или логическое значение для useCapture
129
+ * @param detail additional data provided to the listener via the custom Event interaction / дополнительные данные, предоставляемые слушателю через кастомное взаимодействие с событием
130
+ */
131
+ constructor(elementSelector?: ElementOrString<E>, type?: string | string[], listener?: EventListenerDetail<O, D> | undefined, options?: EventOptions, detail?: D | undefined);
132
+ /**
133
+ * Checks whether event listening is currently enabled.
134
+ *
135
+ * Проверяет, включено ли сейчас прослушивание события.
136
+ * @returns true if active / true, если активно
137
+ */
138
+ isActive(): boolean;
139
+ /**
140
+ * Returns the target element.
141
+ *
142
+ * Возвращает целевой элемент.
143
+ * @returns target element / целевой элемент
144
+ */
145
+ getElement(): E | undefined;
146
+ /**
147
+ * Change of an element for tracking.
148
+ *
149
+ * Изменение элемента для прослеживания.
150
+ * @param elementSelector target element or selector / целевой элемент или селектор
151
+ * @returns this instance / текущий экземпляр
152
+ */
153
+ setElement(elementSelector?: ElementOrString<E>): this;
154
+ /**
155
+ * Modifies the control element for DOM safety checks.
156
+ *
157
+ * Модифицирует контрольный элемент для проверки безопасности DOM.
158
+ * @param elementSelector control element or selector / контрольный элемент или селектор
159
+ * @returns this instance / текущий экземпляр
160
+ */
161
+ setElementControl<EC extends HTMLElement>(elementSelector?: ElementOrString<EC>): this;
162
+ /**
163
+ * Changes the type of the handled event.
164
+ *
165
+ * Изменяет тип обрабатываемого события.
166
+ * @param type event type or array of types / тип события или массив типов
167
+ * @returns this instance / текущий экземпляр
168
+ */
169
+ setType(type: string | string[]): this;
170
+ /**
171
+ * Modifies the listener function.
172
+ *
173
+ * Модифицирует функцию-слушатель.
174
+ * @param listener new listener function / новая функция-слушатель
175
+ * @returns this instance / текущий экземпляр
176
+ */
177
+ setListener(listener: EventListenerDetail<O, D>): this;
178
+ /**
179
+ * Modifying the options object that defines the characteristics of the event listener.
180
+ *
181
+ * Изменение объекта options, который определяет характеристики слушателя событий.
182
+ * @param options event listener options / опции слушателя событий
183
+ * @returns this instance / текущий экземпляр
184
+ */
185
+ setOptions(options?: EventOptions): this;
186
+ /**
187
+ * Modifying the additional data provided to the listener.
188
+ *
189
+ * Изменение дополнительных данных, передаваемых слушателю.
190
+ * @param detail custom data / пользовательские данные
191
+ * @returns this instance / текущий экземпляр
192
+ */
193
+ setDetail(detail?: D): this;
194
+ /**
195
+ * Triggers the events on the target element, optionally with a new detail value.
196
+ * This method manually initiates a `CustomEvent` dispatch for all specified types.
197
+ *
198
+ * Инициирует события на целевом элементе, опционально с новым значением detail.
199
+ * Этот метод вручную запускает диспетчеризацию `CustomEvent` для всех указанных типов.
200
+ * @param detail the value to be passed as the event detail / значение, которое будет передано как detail события
201
+ * @returns this instance / текущий экземпляр
202
+ */
203
+ dispatch(detail?: D | undefined): this;
204
+ /**
205
+ * Starts event listening.
206
+ *
207
+ * Запуск прослушивания события.
208
+ * @returns this instance / текущий экземпляр
209
+ */
210
+ start(): this;
211
+ /**
212
+ * Stops event listening.
213
+ *
214
+ * Остановка прослушивания события.
215
+ * @returns this instance / текущий экземпляр
216
+ */
217
+ stop(): this;
218
+ /**
219
+ * Toggling event handler state.
220
+ *
221
+ * Переключение состояния работы события.
222
+ * @param activity event activation/ активация события
223
+ * @returns this instance / текущий экземпляр
224
+ */
225
+ toggle(activity: boolean): this;
226
+ /**
227
+ * Overloads the listening events (stops and starts again if active).
228
+ *
229
+ * Перегружает события прослушивания (останавливает и запускает заново, если активно).
230
+ * @returns this instance / текущий экземпляр
231
+ */
232
+ reset(): this;
233
+ /**
234
+ * Checks if the ResizeObserver object exists.
235
+ *
236
+ * Проверяет, существует ли объект ResizeObserver.
237
+ */
238
+ protected isObserver(): boolean;
239
+ /**
240
+ * The implementation of the resize event for an element.
241
+ *
242
+ * Реализация события изменения размера для элемента.
243
+ */
244
+ protected makeResize(): boolean;
245
+ /**
246
+ * Implementation of the scroll event for an element.
247
+ *
248
+ * Реализация события изменения положения скролла для элемента.
249
+ */
250
+ protected makeScroll(): boolean;
251
+ }
@@ -0,0 +1,161 @@
1
+ import { FormattersType, FormattersList, FormattersOptionsList, FormattersOptionsInformation, FormattersOptionsCurrency, FormattersOptionsDate, FormattersOptionsName, FormattersOptionsNumber, FormattersOptionsPlural, FormattersOptionsUnit, FormattersReturn, FormattersListProp, FormattersItemProp } from '../types/formattersTypes';
2
+ /**
3
+ * Class for formatting a list of data based on provided options.
4
+ *
5
+ * Класс для форматирования списка данных на основе предоставленных параметров.
6
+ * @template Options type of formatting options / тип параметров форматирования.
7
+ * @template List type of the list of items (can be an array or a single item) / тип списка элементов (может быть массивом или одним элементом).
8
+ * @template Item type of a single item in the list / тип одного элемента в списке.
9
+ */
10
+ export declare class Formatters<Options extends FormattersOptionsList = FormattersOptionsList, List extends FormattersListProp = FormattersListProp, Item extends FormattersItemProp<List> = FormattersItemProp<List>> {
11
+ protected options: Options;
12
+ protected list?: List | undefined;
13
+ /**
14
+ * Constructor
15
+ *
16
+ * Конструктор
17
+ * @param options formatting options for each column/property / параметры форматирования для каждого столбца/свойства
18
+ * @param list initial list of data to format / начальный список данных для форматирования
19
+ */
20
+ constructor(options: Options, list?: List | undefined);
21
+ /**
22
+ * Checks if the list is set.
23
+ *
24
+ * Проверяет, установлен ли список.
25
+ * @returns true if the list is set / true, если список установлен
26
+ */
27
+ is(): boolean;
28
+ /**
29
+ * Checks if the list is an array.
30
+ *
31
+ * Проверяет, является ли список массивом.
32
+ * @returns true if the list is an array / true, если список является массивом
33
+ */
34
+ isArray(): this is this & {
35
+ list: FormattersList<Item>;
36
+ };
37
+ /**
38
+ * Returns the count of records in the list.
39
+ *
40
+ * Возвращает количество записей в списке.
41
+ * @returns count of records / количество записей
42
+ */
43
+ length(): number;
44
+ /**
45
+ * Returns the current list of data as an array.
46
+ *
47
+ * Возвращает текущий список данных в виде массива.
48
+ * @returns the list of data / список данных
49
+ */
50
+ getList(): FormattersList<Item>;
51
+ /**
52
+ * Returns the current formatting options.
53
+ *
54
+ * Возвращает текущие параметры форматирования.
55
+ * @returns formatting options / параметры форматирования
56
+ */
57
+ getOptions(): Options;
58
+ /**
59
+ * Sets the list of data to be formatted.
60
+ *
61
+ * Устанавливает список данных для форматирования.
62
+ * @param list list of data / список данных
63
+ * @returns this instance / текущий экземпляр
64
+ */
65
+ setList(list?: List): this;
66
+ /**
67
+ * Formats the entire list or a single item based on the provided options.
68
+ * Adds formatted values with the suffix 'Format' to each item.
69
+ *
70
+ * Форматирует весь список или один элемент на основе предоставленных параметров.
71
+ * Добавляет отформатированные значения с суффиксом 'Format' к каждому элементу.
72
+ * @returns FormattersReturn<List, Options> formatted data (list or single item) / отформатированные данные (список или один элемент)
73
+ */
74
+ to(): FormattersReturn<List, Options>;
75
+ /**
76
+ * Generates formatted data for a single item based on options.
77
+ *
78
+ * Генерирует отформатированные данные для одного элемента на основе параметров.
79
+ * @param item item to format / элемент для форматирования
80
+ * @returns object with formatted fields / объект с отформатированными полями
81
+ * @protected
82
+ */
83
+ protected getFormatData(item: Item): Record<string, string>;
84
+ /**
85
+ * Router-like method to delegate formatting to specific type formatters.
86
+ *
87
+ * Метод-маршрутизатор для делегирования форматирования конкретным типам форматировщиков.
88
+ * @param valueOriginal original value to format/ исходное значение для форматирования
89
+ * @param item entire item context/ весь контекст элемента
90
+ * @param type type of formatter to use/ тип используемого форматировщика
91
+ * @param options additional options for the specific formatter/
92
+ * дополнительные параметры для конкретного форматировщика
93
+ * @protected
94
+ * @returns Formatted string/ отформатированная строка
95
+ */
96
+ protected transformation<Type extends FormattersType>(valueOriginal: any, item: any, type?: Type, options?: FormattersOptionsInformation<Type>): string;
97
+ /**
98
+ * Formats a value as currency.
99
+ *
100
+ * Форматирует значение как валюту.
101
+ * @param value value to format/ значение для форматирования
102
+ * @param item item context/ контекст элемента
103
+ * @param options currency formatting options/ параметры форматирования валюты
104
+ * @protected
105
+ * @returns Formatted currency string/ отформатированная строка валюты
106
+ */
107
+ protected formatCurrency(value: any, item: Item, options?: FormattersOptionsCurrency): string;
108
+ /**
109
+ * Formats a value as a date.
110
+ *
111
+ * Форматирует значение как дату.
112
+ * @param value value to format/ значение для форматирования
113
+ * @param options date formatting options/ параметры форматирования даты
114
+ * @protected
115
+ * @returns Formatted date string/ отформатированная строка даты
116
+ */
117
+ protected formatDate(value: any, options?: FormattersOptionsDate): string;
118
+ /**
119
+ * Formats full name from multiple property names.
120
+ *
121
+ * Форматирует полное имя из нескольких имен свойств.
122
+ * @param item item context containing name components/ контекст элемента, содержащий компоненты имени
123
+ * @param options name formatting options (prop names for first, last, surname)/
124
+ * параметры форматирования имени (имена свойств для имени, фамилии, отчества)
125
+ * @protected
126
+ * @returns Formatted name string or empty string if components are missing/
127
+ * отформатированная строка имени или пустая строка, если компоненты отсутствуют
128
+ */
129
+ protected formatName(item: Item, options?: FormattersOptionsName): string;
130
+ /**
131
+ * Formats a value as a number.
132
+ *
133
+ * Форматирует значение как число.
134
+ * @param value value to format/ значение для форматирования
135
+ * @param options number formatting options/ параметры форматирования числа
136
+ * @protected
137
+ * @returns Formatted number string/ отформатированная строка числа
138
+ */
139
+ protected formatNumber(value: any, options?: FormattersOptionsNumber): string;
140
+ /**
141
+ * Formats a value based on plural rules.
142
+ *
143
+ * Форматирует значение на основе правил множественного числа.
144
+ * @param value numeric value for pluralization/ числовое значение для плюрализации
145
+ * @param options plural formatting options (words and rules)/
146
+ * параметры форматирования множественного числа (слова и правила)
147
+ * @protected
148
+ * @returns Formatted plural string/ отформатированная строка множественного числа
149
+ */
150
+ protected formatPlural(value: any, options?: FormattersOptionsPlural): string;
151
+ /**
152
+ * Formats a value with a specific unit.
153
+ *
154
+ * Форматирует значение с определенной единицей измерения.
155
+ * @param value value to format/ значение для форматирования
156
+ * @param options unit formatting options/ параметры форматирования единиц измерения
157
+ * @protected
158
+ * @returns Formatted unit string/ отформатированная строка единицы измерения
159
+ */
160
+ protected formatUnit(value: any, options?: FormattersOptionsUnit): string;
161
+ }