@dxtmisha/functional-basic 1.3.15 → 1.4.0
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/CHANGELOG.md +14 -0
- package/ai-description.md +20 -13
- package/ai-types.md +642 -332
- package/dist/library.js +412 -347
- package/dist/src/classes/HashInstance.d.ts +8 -74
- package/dist/src/classes/Query.d.ts +57 -0
- package/dist/src/classes/QueryInstance.d.ts +29 -0
- package/dist/src/classes/UrlInstanceAbstract.d.ts +94 -0
- package/dist/src/classes/UrlItem.d.ts +48 -0
- package/dist/src/library.d.ts +3 -0
- package/package.json +1 -1
|
@@ -1,95 +1,29 @@
|
|
|
1
|
+
import { UrlInstanceAbstract } from './UrlInstanceAbstract';
|
|
1
2
|
/**
|
|
2
3
|
* Class for working with data stored in the URL hash.
|
|
3
4
|
*
|
|
4
5
|
* Класс для работы с данными, сохранёнными в хеше URL.
|
|
5
6
|
*/
|
|
6
|
-
export declare class HashInstance {
|
|
7
|
-
private hash?;
|
|
8
|
-
private watch;
|
|
9
|
-
private block;
|
|
10
|
-
private time?;
|
|
7
|
+
export declare class HashInstance extends UrlInstanceAbstract {
|
|
11
8
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* Получение данных из хэша.
|
|
15
|
-
* @param name variable name / название переменной
|
|
16
|
-
* @param defaultValue value or function to change data / значение или функция для изменения данных
|
|
17
|
-
* @returns stored value / сохранённое значение
|
|
18
|
-
*/
|
|
19
|
-
get<T>(name: string, defaultValue?: T | (() => T)): T;
|
|
20
|
-
/**
|
|
21
|
-
* Change data in hash.
|
|
22
|
-
*
|
|
23
|
-
* Изменение данных в хэше.
|
|
24
|
-
* @param name variable name / название переменной
|
|
25
|
-
* @param callback value or function to change data / значение или функция для изменения данных
|
|
26
|
-
* @returns this instance / текущий экземпляр
|
|
27
|
-
*/
|
|
28
|
-
set<T>(name: string, callback: T | (() => T)): this;
|
|
29
|
-
/**
|
|
30
|
-
* Adding an event when data is changed.
|
|
31
|
-
*
|
|
32
|
-
* Добавление события при изменении данных.
|
|
33
|
-
* @param name variable name / название переменной
|
|
34
|
-
* @param callback the function is called when the data is changed / функция вызывается при изменении данных
|
|
35
|
-
* @returns this instance / текущий экземпляр
|
|
36
|
-
*/
|
|
37
|
-
addWatch<T>(name: string, callback: (value: T) => void): this;
|
|
38
|
-
/**
|
|
39
|
-
* Removing an event when data is changed.
|
|
40
|
-
*
|
|
41
|
-
* Удаление события при изменении данных.
|
|
42
|
-
* @param name variable name / название переменной
|
|
43
|
-
* @param callback the function is called when the data is changed / функция вызывается при изменении данных
|
|
44
|
-
* @returns this instance / текущий экземпляр
|
|
45
|
-
*/
|
|
46
|
-
removeWatch<T>(name: string, callback: (value: T) => void): this;
|
|
47
|
-
/**
|
|
48
|
-
* Update hash variable from URL string.
|
|
9
|
+
* Initializes hash data and registers the hashchange listener.
|
|
49
10
|
*
|
|
50
|
-
*
|
|
11
|
+
* Инициализирует данные хэша и регистрирует слушатель hashchange.
|
|
51
12
|
* @returns this instance / текущий экземпляр
|
|
52
13
|
*/
|
|
53
|
-
|
|
14
|
+
protected init(): this;
|
|
54
15
|
/**
|
|
55
16
|
* Obtaining data from the URL string.
|
|
56
17
|
*
|
|
57
18
|
* Получение данных из строки URL.
|
|
58
19
|
* @returns Record<string, any> hash data / данные хэша
|
|
59
20
|
*/
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Returns the hash object, initializing if needed.
|
|
63
|
-
*
|
|
64
|
-
* Возвращает объект хэша, инициализируя при необходимости.
|
|
65
|
-
* @returns Record<string, any> hash object / объект хэша
|
|
66
|
-
*/
|
|
67
|
-
private getHash;
|
|
68
|
-
/**
|
|
69
|
-
* Initializes hash data and registers the hashchange listener.
|
|
70
|
-
*
|
|
71
|
-
* Инициализирует данные хэша и регистрирует слушатель hashchange.
|
|
72
|
-
* @returns this instance / текущий экземпляр
|
|
73
|
-
*/
|
|
74
|
-
private init;
|
|
75
|
-
/**
|
|
76
|
-
* Reads hash data from the URL and triggers watchers.
|
|
77
|
-
*
|
|
78
|
-
* Считывает данные хэша из URL и вызывает наблюдателей.
|
|
79
|
-
* @returns this instance / текущий экземпляр
|
|
80
|
-
*/
|
|
81
|
-
private initData;
|
|
21
|
+
protected getLocation(): Record<string, any>;
|
|
82
22
|
/**
|
|
83
23
|
* Update hash string in URL.
|
|
84
24
|
*
|
|
85
25
|
* Обновление строки хэша в URL.
|
|
26
|
+
* @returns this instance / текущий экземпляр
|
|
86
27
|
*/
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Calling all functions whose data has changed.
|
|
90
|
-
*
|
|
91
|
-
* Вызов всех функций, у которых были изменены данные.
|
|
92
|
-
* @param location fresh data / свежие данные
|
|
93
|
-
*/
|
|
94
|
-
private makeWatch;
|
|
28
|
+
protected update(): this;
|
|
95
29
|
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { QueryInstance } from './QueryInstance';
|
|
2
|
+
/**
|
|
3
|
+
* Static class for working with data stored in the URL query parameters.
|
|
4
|
+
* Provides a centralized interface delegating to QueryInstance.
|
|
5
|
+
*
|
|
6
|
+
* Статический класс для работы с данными, сохранёнными в query-параметрах URL.
|
|
7
|
+
* Предоставляет централизованный интерфейс, делегируя вызовы QueryInstance.
|
|
8
|
+
*/
|
|
9
|
+
export declare class Query {
|
|
10
|
+
/**
|
|
11
|
+
* Returns a request-isolated instance of QueryInstance.
|
|
12
|
+
*
|
|
13
|
+
* Возвращает изолированный в рамках запроса экземпляр QueryInstance.
|
|
14
|
+
* @returns QueryInstance instance / экземпляр QueryInstance
|
|
15
|
+
*/
|
|
16
|
+
static getItem(): QueryInstance;
|
|
17
|
+
/**
|
|
18
|
+
* Get data from query.
|
|
19
|
+
*
|
|
20
|
+
* Получение данных из query-параметров.
|
|
21
|
+
* @param name variable name / название переменной
|
|
22
|
+
* @param defaultValue value or function to change data / значение или функция для изменения данных
|
|
23
|
+
* @returns stored value / сохранённое значение
|
|
24
|
+
*/
|
|
25
|
+
static get<T>(name: string, defaultValue?: T | (() => T)): T;
|
|
26
|
+
/**
|
|
27
|
+
* Change data in query.
|
|
28
|
+
*
|
|
29
|
+
* Изменение данных в query-параметрах.
|
|
30
|
+
* @param name variable name / название переменной
|
|
31
|
+
* @param callback value or function to change data / значение или функция для изменения данных
|
|
32
|
+
*/
|
|
33
|
+
static set<T>(name: string, callback: T | (() => T)): void;
|
|
34
|
+
/**
|
|
35
|
+
* Adding an event when data is changed.
|
|
36
|
+
*
|
|
37
|
+
* Добавление события при изменении данных.
|
|
38
|
+
* @param name variable name / название переменной
|
|
39
|
+
* @param callback the function is called when the data is changed / функция вызывается при изменении данных
|
|
40
|
+
*/
|
|
41
|
+
static addWatch<T>(name: string, callback: (value: T) => void): void;
|
|
42
|
+
/**
|
|
43
|
+
* Removing an event when data is changed.
|
|
44
|
+
*
|
|
45
|
+
* Удаление события при изменении данных.
|
|
46
|
+
* @param name variable name / название переменной
|
|
47
|
+
* @param callback the function is called when the data is changed / функция вызывается при изменении данных
|
|
48
|
+
*/
|
|
49
|
+
static removeWatch<T>(name: string, callback: (value: T) => void): void;
|
|
50
|
+
/**
|
|
51
|
+
* Update query variables from URL string.
|
|
52
|
+
*
|
|
53
|
+
* Обновление переменных query-параметров из строки URL.
|
|
54
|
+
* @returns void
|
|
55
|
+
*/
|
|
56
|
+
static reload(): void;
|
|
57
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { UrlInstanceAbstract } from './UrlInstanceAbstract';
|
|
2
|
+
/**
|
|
3
|
+
* Class for working with data stored in the URL query parameters.
|
|
4
|
+
*
|
|
5
|
+
* Класс для работы с данными, сохранёнными в query-параметрах URL.
|
|
6
|
+
*/
|
|
7
|
+
export declare class QueryInstance extends UrlInstanceAbstract {
|
|
8
|
+
/**
|
|
9
|
+
* Initializes query data and registers the popstate listener.
|
|
10
|
+
*
|
|
11
|
+
* Инициализирует данные query-параметров и регистрирует слушатель popstate.
|
|
12
|
+
* @returns this instance / текущий экземпляр
|
|
13
|
+
*/
|
|
14
|
+
protected init(): this;
|
|
15
|
+
/**
|
|
16
|
+
* Obtaining data from the URL string.
|
|
17
|
+
*
|
|
18
|
+
* Получение данных из строки URL.
|
|
19
|
+
* @returns Record<string, any> query data / данные query-параметров
|
|
20
|
+
*/
|
|
21
|
+
protected getLocation(): Record<string, any>;
|
|
22
|
+
/**
|
|
23
|
+
* Update query string in URL.
|
|
24
|
+
*
|
|
25
|
+
* Обновление строки query-параметров в URL.
|
|
26
|
+
* @returns this instance / текущий экземпляр
|
|
27
|
+
*/
|
|
28
|
+
protected update(): this;
|
|
29
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base abstract class for working with URL-based states (Hash, Query).
|
|
3
|
+
*
|
|
4
|
+
* Базовый абстрактный класс для работы с состояниями на основе URL (Hash, Query).
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class UrlInstanceAbstract {
|
|
7
|
+
protected data?: Record<string, any>;
|
|
8
|
+
protected watch: Record<string, ((value: any) => void)[]>;
|
|
9
|
+
protected block: boolean;
|
|
10
|
+
protected time?: any;
|
|
11
|
+
/**
|
|
12
|
+
* Get data.
|
|
13
|
+
*
|
|
14
|
+
* Получение данных.
|
|
15
|
+
* @param name variable name / название переменной
|
|
16
|
+
* @param defaultValue value or function to change data / значение или функция для изменения данных
|
|
17
|
+
* @returns stored value / сохранённое значение
|
|
18
|
+
*/
|
|
19
|
+
get<T>(name: string, defaultValue?: T | (() => T)): T;
|
|
20
|
+
/**
|
|
21
|
+
* Change data.
|
|
22
|
+
*
|
|
23
|
+
* Изменение данных.
|
|
24
|
+
* @param name variable name / название переменной
|
|
25
|
+
* @param callback value or function to change data / значение или функция для изменения данных
|
|
26
|
+
* @returns this instance / текущий экземпляр
|
|
27
|
+
*/
|
|
28
|
+
set<T>(name: string, callback: T | (() => T)): this;
|
|
29
|
+
/**
|
|
30
|
+
* Adding an event when data is changed.
|
|
31
|
+
*
|
|
32
|
+
* Добавление события при изменении данных.
|
|
33
|
+
* @param name variable name / название переменной
|
|
34
|
+
* @param callback the function is called when the data is changed / функция вызывается при изменении данных
|
|
35
|
+
* @returns this instance / текущий экземпляр
|
|
36
|
+
*/
|
|
37
|
+
addWatch<T>(name: string, callback: (value: T) => void): this;
|
|
38
|
+
/**
|
|
39
|
+
* Removing an event when data is changed.
|
|
40
|
+
*
|
|
41
|
+
* Удаление события при изменении данных.
|
|
42
|
+
* @param name variable name / название переменной
|
|
43
|
+
* @param callback the function is called when the data is changed / функция вызывается при изменении данных
|
|
44
|
+
* @returns this instance / текущий экземпляр
|
|
45
|
+
*/
|
|
46
|
+
removeWatch<T>(name: string, callback: (value: T) => void): this;
|
|
47
|
+
/**
|
|
48
|
+
* Update variables from URL string.
|
|
49
|
+
*
|
|
50
|
+
* Обновление переменных из строки URL.
|
|
51
|
+
* @returns this instance / текущий экземпляр
|
|
52
|
+
*/
|
|
53
|
+
reload(): this;
|
|
54
|
+
/**
|
|
55
|
+
* Returns the query/hash data object, initializing if needed.
|
|
56
|
+
*
|
|
57
|
+
* Возвращает объект данных, инициализируя при необходимости.
|
|
58
|
+
* @returns Record<string, any> data object / объект данных
|
|
59
|
+
*/
|
|
60
|
+
protected getData(): Record<string, any>;
|
|
61
|
+
/**
|
|
62
|
+
* Reads data from the URL and triggers watchers.
|
|
63
|
+
*
|
|
64
|
+
* Считывает данные из URL и вызывает наблюдателей.
|
|
65
|
+
* @returns this instance / текущий экземпляр
|
|
66
|
+
*/
|
|
67
|
+
protected initData(): this;
|
|
68
|
+
/**
|
|
69
|
+
* Calling all functions whose data has changed.
|
|
70
|
+
*
|
|
71
|
+
* Вызов всех функций, у которых были изменены данные.
|
|
72
|
+
* @param location fresh data / свежие данные
|
|
73
|
+
* @returns this instance / текущий экземпляр
|
|
74
|
+
*/
|
|
75
|
+
protected makeWatch(location: Record<string, any>): this;
|
|
76
|
+
/**
|
|
77
|
+
* Initializes data and event listeners.
|
|
78
|
+
*
|
|
79
|
+
* Инициализирует данные и слушатели событий.
|
|
80
|
+
*/
|
|
81
|
+
protected abstract init(): this;
|
|
82
|
+
/**
|
|
83
|
+
* Obtaining data from the URL string.
|
|
84
|
+
*
|
|
85
|
+
* Получение данных из строки URL.
|
|
86
|
+
*/
|
|
87
|
+
protected abstract getLocation(): Record<string, any>;
|
|
88
|
+
/**
|
|
89
|
+
* Update string in URL.
|
|
90
|
+
*
|
|
91
|
+
* Обновление строки в URL.
|
|
92
|
+
*/
|
|
93
|
+
protected abstract update(): this;
|
|
94
|
+
}
|
|
@@ -46,6 +46,29 @@ export declare class UrlItem {
|
|
|
46
46
|
get hash(): string;
|
|
47
47
|
/** Origin of the URL (readonly) / Источник URL (только для чтения) */
|
|
48
48
|
get origin(): string;
|
|
49
|
+
/**
|
|
50
|
+
* Checks if the specified query parameter exists.
|
|
51
|
+
*
|
|
52
|
+
* Проверяет, существует ли указанный параметр запроса.
|
|
53
|
+
* @param name parameter name / имя параметра
|
|
54
|
+
* @returns check result / результат проверки
|
|
55
|
+
*/
|
|
56
|
+
hasParam(name: string): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Returns the value of a query parameter.
|
|
59
|
+
*
|
|
60
|
+
* Возвращает значение параметра запроса.
|
|
61
|
+
* @param name parameter name / имя параметра
|
|
62
|
+
* @returns parameter value or undefined if not found / значение параметра или undefined, если не найдено
|
|
63
|
+
*/
|
|
64
|
+
getParam(name: string): string | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Returns all query parameters as an object with transformed types.
|
|
67
|
+
*
|
|
68
|
+
* Возвращает все параметры запроса в виде объекта с преобразованными типами.
|
|
69
|
+
* @returns Record<string, any> object of parameters / объект параметров
|
|
70
|
+
*/
|
|
71
|
+
getParams(): Record<string, any>;
|
|
49
72
|
/**
|
|
50
73
|
* Updates the URL value.
|
|
51
74
|
*
|
|
@@ -54,6 +77,31 @@ export declare class UrlItem {
|
|
|
54
77
|
* @returns this Url instance / текущий экземпляр Url
|
|
55
78
|
*/
|
|
56
79
|
set(url?: string | URL): this;
|
|
80
|
+
/**
|
|
81
|
+
* Sets the value of a query parameter.
|
|
82
|
+
*
|
|
83
|
+
* Устанавливает значение параметра запроса.
|
|
84
|
+
* @param name parameter name / имя параметра
|
|
85
|
+
* @param value parameter value / значение параметра
|
|
86
|
+
* @returns this UrlItem instance / текущий экземпляр UrlItem
|
|
87
|
+
*/
|
|
88
|
+
setParam(name: string, value: string): this;
|
|
89
|
+
/**
|
|
90
|
+
* Replaces all query parameters with the specified object.
|
|
91
|
+
*
|
|
92
|
+
* Заменяет все параметры запроса на указанный объект.
|
|
93
|
+
* @param params parameters to set / параметры для установки
|
|
94
|
+
* @returns this UrlItem instance / текущий экземпляр UrlItem
|
|
95
|
+
*/
|
|
96
|
+
setParams(params: Record<string, any>): this;
|
|
97
|
+
/**
|
|
98
|
+
* Deletes a query parameter.
|
|
99
|
+
*
|
|
100
|
+
* Удаляет параметр запроса.
|
|
101
|
+
* @param name parameter name / имя параметра
|
|
102
|
+
* @returns this UrlItem instance / текущий экземпляр UrlItem
|
|
103
|
+
*/
|
|
104
|
+
deleteParam(name: string): this;
|
|
57
105
|
/**
|
|
58
106
|
* Converts the Url instance to its string representation.
|
|
59
107
|
*
|
package/dist/src/library.d.ts
CHANGED
|
@@ -42,6 +42,8 @@ export * from './classes/MetaManager';
|
|
|
42
42
|
export * from './classes/MetaOg';
|
|
43
43
|
export * from './classes/MetaStatic';
|
|
44
44
|
export * from './classes/MetaTwitter';
|
|
45
|
+
export * from './classes/Query';
|
|
46
|
+
export * from './classes/QueryInstance';
|
|
45
47
|
export * from './classes/ResumableTimer';
|
|
46
48
|
export * from './classes/ScrollbarWidth';
|
|
47
49
|
export * from './classes/SearchList';
|
|
@@ -54,6 +56,7 @@ export * from './classes/StorageCallback';
|
|
|
54
56
|
export * from './classes/Translate';
|
|
55
57
|
export * from './classes/TranslateFile';
|
|
56
58
|
export * from './classes/TranslateInstance';
|
|
59
|
+
export * from './classes/UrlInstanceAbstract';
|
|
57
60
|
export * from './classes/UrlItem';
|
|
58
61
|
export * from './functions/addTagHighlightMatch';
|
|
59
62
|
export * from './functions/anyToString';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxtmisha/functional-basic",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.4.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Foundational utility library for modern web development — HTTP client, geolocation, i18n, SEO meta tags, caching, storage, DOM utilities, and more. Framework-agnostic, zero dependencies, TypeScript-first.",
|
|
7
7
|
"keywords": [
|