@rogolev/value 0.0.1 → 0.0.3

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 (152) hide show
  1. package/.prettierignore +4 -4
  2. package/CHANGELOG.md +82 -56
  3. package/LICENSE +41 -41
  4. package/README.md +118 -91
  5. package/babel.config.json +20 -20
  6. package/docs/classes/Convert/toArray.md +100 -0
  7. package/docs/classes/Convert/toAssoc.md +90 -0
  8. package/docs/classes/Convert/toBool.md +72 -0
  9. package/docs/classes/Convert/toBoolean.md +72 -0
  10. package/docs/classes/Convert/toFloat.md +69 -0
  11. package/docs/classes/Convert/toInt.md +86 -0
  12. package/docs/classes/Convert/toInteger.md +86 -0
  13. package/docs/classes/Convert/toList.md +73 -0
  14. package/docs/classes/Convert/toObject.md +76 -0
  15. package/docs/classes/Convert/toString.md +125 -0
  16. package/docs/classes/Convert.md +44 -0
  17. package/docs/classes/Type/isArray.md +106 -0
  18. package/docs/classes/Type/isAssoc.md +57 -0
  19. package/docs/classes/Type/isBigInt.md +49 -0
  20. package/docs/classes/Type/isBool.md +51 -0
  21. package/docs/classes/Type/isBoolean.md +51 -0
  22. package/docs/classes/Type/isClass.md +60 -0
  23. package/docs/classes/Type/isEmpty.md +53 -0
  24. package/docs/classes/Type/isFloat.md +77 -0
  25. package/docs/classes/Type/isFunction.md +64 -0
  26. package/docs/classes/Type/isInfinity.md +59 -0
  27. package/docs/classes/Type/isInt.md +77 -0
  28. package/docs/classes/Type/isInteger.md +77 -0
  29. package/docs/classes/Type/isList.md +49 -0
  30. package/docs/classes/Type/isNaN.md +57 -0
  31. package/docs/classes/Type/isNull.md +49 -0
  32. package/docs/classes/Type/isNumber.md +60 -0
  33. package/docs/classes/Type/isNumeric.md +58 -0
  34. package/docs/classes/Type/isObject.md +53 -0
  35. package/docs/classes/Type/isScalar.md +54 -0
  36. package/docs/classes/Type/isString.md +54 -0
  37. package/docs/classes/Type/isSymbol.md +56 -0
  38. package/docs/classes/Type/isUndefined.md +52 -0
  39. package/docs/classes/Type.md +74 -0
  40. package/docs/classes/Value/constructor.md +48 -0
  41. package/docs/classes/Value/get.md +51 -0
  42. package/docs/classes/Value/getType.md +71 -0
  43. package/docs/classes/Value/isArray.md +67 -0
  44. package/docs/classes/Value/isAssoc.md +68 -0
  45. package/docs/classes/Value/isBigInt.md +52 -0
  46. package/docs/classes/Value/isBool.md +60 -0
  47. package/docs/classes/Value/isBoolean.md +60 -0
  48. package/docs/classes/Value/isClass.md +55 -0
  49. package/docs/classes/Value/isEmpty.md +84 -0
  50. package/docs/classes/Value/isFloat.md +52 -0
  51. package/docs/classes/Value/isFunction.md +60 -0
  52. package/docs/classes/Value/isInfinity.md +60 -0
  53. package/docs/classes/Value/isInt.md +52 -0
  54. package/docs/classes/Value/isInteger.md +52 -0
  55. package/docs/classes/Value/isList.md +59 -0
  56. package/docs/classes/Value/isNaN.md +79 -0
  57. package/docs/classes/Value/isNull.md +59 -0
  58. package/docs/classes/Value/isNumber.md +80 -0
  59. package/docs/classes/Value/isNumeric.md +79 -0
  60. package/docs/classes/Value/isObject.md +68 -0
  61. package/docs/classes/Value/isScalar.md +72 -0
  62. package/docs/classes/Value/isString.md +67 -0
  63. package/docs/classes/Value/isSymbol.md +75 -0
  64. package/docs/classes/Value/isUndefined.md +67 -0
  65. package/docs/classes/Value/print.md +164 -0
  66. package/docs/classes/Value/printType.md +158 -0
  67. package/docs/classes/Value/setType.md +79 -0
  68. package/docs/classes/Value/toArray.md +85 -0
  69. package/docs/classes/Value/toAssoc.md +85 -0
  70. package/docs/classes/Value/toBool.md +71 -0
  71. package/docs/classes/Value/toBoolean.md +71 -0
  72. package/docs/classes/Value/toFloat.md +72 -0
  73. package/docs/classes/Value/toInt.md +72 -0
  74. package/docs/classes/Value/toInteger.md +72 -0
  75. package/docs/classes/Value/toList.md +77 -0
  76. package/docs/classes/Value/toObject.md +78 -0
  77. package/docs/classes/Value/toPrint.md +115 -0
  78. package/docs/classes/Value/toPrintType.md +110 -0
  79. package/docs/classes/Value/toString.md +134 -0
  80. package/docs/classes/Value.md +113 -0
  81. package/docs/classes.md +11 -0
  82. package/docs/constants.md +47 -0
  83. package/docs/helpers/array.md +80 -80
  84. package/docs/helpers/empty.md +77 -77
  85. package/docs/helpers/gettype.md +69 -69
  86. package/docs/helpers/is_array.md +105 -105
  87. package/docs/helpers/is_assoc.md +59 -59
  88. package/docs/helpers/is_bigint.md +57 -57
  89. package/docs/helpers/is_bool.md +50 -50
  90. package/docs/helpers/is_boolean.md +50 -50
  91. package/docs/helpers/is_class.md +73 -73
  92. package/docs/helpers/is_float.md +71 -71
  93. package/docs/helpers/is_function.md +62 -62
  94. package/docs/helpers/is_infinity.md +61 -61
  95. package/docs/helpers/is_int.md +81 -81
  96. package/docs/helpers/is_integer.md +82 -82
  97. package/docs/helpers/is_list.md +51 -51
  98. package/docs/helpers/is_nan.md +59 -59
  99. package/docs/helpers/is_null.md +49 -49
  100. package/docs/helpers/is_number.md +67 -67
  101. package/docs/helpers/is_numeric.md +76 -76
  102. package/docs/helpers/is_object.md +69 -69
  103. package/docs/helpers/is_scalar.md +60 -60
  104. package/docs/helpers/is_string.md +58 -58
  105. package/docs/helpers/is_symbol.md +58 -58
  106. package/docs/helpers/is_undefined.md +56 -56
  107. package/docs/helpers/print.md +187 -187
  108. package/docs/helpers/print_type.md +225 -225
  109. package/docs/helpers/settype.md +78 -78
  110. package/docs/helpers/to_array.md +106 -106
  111. package/docs/helpers/to_assoc.md +91 -91
  112. package/docs/helpers/to_bool.md +76 -76
  113. package/docs/helpers/to_boolean.md +77 -77
  114. package/docs/helpers/to_float.md +70 -70
  115. package/docs/helpers/to_int.md +87 -87
  116. package/docs/helpers/to_integer.md +87 -87
  117. package/docs/helpers/to_list.md +47 -47
  118. package/docs/helpers/to_object.md +76 -76
  119. package/docs/helpers/to_string.md +134 -134
  120. package/docs/helpers/value.md +95 -0
  121. package/docs/helpers.md +53 -51
  122. package/docs/types/NaN.md +30 -30
  123. package/docs/types/array.md +252 -252
  124. package/docs/types/bigint.md +34 -34
  125. package/docs/types/boolean.md +47 -47
  126. package/docs/types/class.md +36 -36
  127. package/docs/types/float.md +35 -35
  128. package/docs/types/function.md +121 -121
  129. package/docs/types/infinity.md +32 -32
  130. package/docs/types/integer.md +35 -35
  131. package/docs/types/null.md +23 -23
  132. package/docs/types/object.md +62 -62
  133. package/docs/types/string.md +33 -33
  134. package/docs/types/symbol.md +29 -29
  135. package/docs/types/undefined.md +25 -25
  136. package/docs/types.md +44 -44
  137. package/eslint.config.mjs +1664 -1664
  138. package/index.mjs +43 -37
  139. package/jest.config.mjs +31 -31
  140. package/package.json +48 -47
  141. package/prettier.config.mjs +224 -224
  142. package/src/classes/Convert.mjs +818 -0
  143. package/src/classes/Type.mjs +1284 -0
  144. package/src/classes/Value.mjs +2846 -0
  145. package/src/constants.mjs +14 -0
  146. package/src/helpers/gettype.mjs +30 -14
  147. package/src/helpers/value.mjs +92 -0
  148. package/tests/classes/Convert.test.mjs +398 -0
  149. package/tests/classes/Type.test.mjs +1262 -0
  150. package/tests/classes/Value.test.mjs +423 -0
  151. package/tests/constants.test.mjs +75 -0
  152. package/tests/helpers/value.test.mjs +68 -0
@@ -0,0 +1,113 @@
1
+ [Главная](../../README.md) / [Классы](../classes.md) / Value
2
+
3
+ [Исходный код](../../src/classes/Value.mjs)
4
+
5
+ # Value
6
+
7
+ `Value` — Класс, представляющий обертку для значений различных типов и предоставляющий методы
8
+ для работы с ними.
9
+
10
+ ## Сигнатура класса
11
+
12
+ ```ts
13
+ class Value {
14
+ constructor(value: any);
15
+ get(): any;
16
+ getType(): string;
17
+ setType(type: string): Value;
18
+ isEmpty(): boolean;
19
+ print(): Value;
20
+ toPrint(): Value;
21
+ printType(): Value;
22
+ toPrintType(): Value;
23
+ isArray(): boolean;
24
+ isAssoc(): boolean;
25
+ isBigInt(): boolean;
26
+ isBool(): boolean;
27
+ isBoolean(): boolean;
28
+ isClass(): boolean;
29
+ isFloat(): boolean;
30
+ isFunction(): boolean;
31
+ isInfinity(): boolean;
32
+ isInt(): boolean;
33
+ isInteger(): boolean;
34
+ isList(): boolean;
35
+ isNaN(): boolean;
36
+ isNull(): boolean;
37
+ isNumber(): boolean;
38
+ isNumeric(): boolean;
39
+ isObject(): boolean;
40
+ isScalar(): boolean;
41
+ isString(): boolean;
42
+ isSymbol(): boolean;
43
+ isUndefined(): boolean;
44
+ toArray(): Value;
45
+ toAssoc(): Value;
46
+ toBool(): Value;
47
+ toBoolean(): Value;
48
+ toFloat(): Value;
49
+ toInt(): Value;
50
+ toInteger(): Value;
51
+ toList(): Value;
52
+ toObject(): Value;
53
+ toString(): Value;
54
+ }
55
+ ```
56
+
57
+ ## Описание
58
+
59
+ Класс `Value` используется для хранения значения и предоставления методов для работы с этим
60
+ значением. Значение хранится в приватном свойстве `#value` и не может быть изменено после создания
61
+ экземпляра класса. Класс также предоставляет методы для получения типа значения, проверки значения
62
+ на пустоту, преобразования значения в другие типы и другие операции.
63
+
64
+ ### Методы
65
+
66
+ - [constructor](#constructor) — Создает экземпляр класса `Value` с заданным значением.
67
+ - [get](#get) — Возвращает значение, хранящееся в экземпляре класса `Value`.
68
+ - [getType](#getType) — Возвращает тип значения, хранящегося в экземпляре класса `Value`.
69
+ - [setType](#setType) — Преобразует значение в экземпляре класса `Value` к указанному типу.
70
+ - [isEmpty](#isEmpty) — Проверяет, является ли значение, хранящееся в экземпляре класса
71
+ `Value`, пустым.
72
+ - [print](#print) — Преобразует значение переменной в строку и выводит его на консоль.
73
+ - [toPrint](#toPrint) — Преобразует значение переменной в строку и возвращает новый экземпляр
74
+ класса `Value` с этим значением.
75
+ - [printType](#printType) — Преобразует тип значения переменной в строку и выводит его на
76
+ консоль.
77
+ - [toPrintType](#toPrintType) — Преобразует тип значения переменной в строку и возвращает
78
+ новый экземпляр класса `Value` с этим значением.
79
+ - [isArray](#isArray) — Проверяет, является ли значение массивом.
80
+ - [isAssoc](#isAssoc) — Проверяет, является ли значение ассоциативным массивом.
81
+ - [isBigInt](#isBigInt) — Проверяет, является ли значение типом BigInt.
82
+ - [isBool](#isBool) — Проверяет, является ли значение логическим (булевым).
83
+ - [isBoolean](#isBoolean) — Проверяет, является ли значение логическим (булевым).
84
+ - [isClass](#isClass) — Проверяет, является ли значение классом.
85
+ - [isFloat](#isFloat) — Проверяет, является ли значение числом с плавающей точкой.
86
+ - [isFunction](#isFunction) — Проверяет, является ли значение функцией.
87
+ - [isInfinity](#isInfinity) — Проверяет, является ли значение бесконечностью.
88
+ - [isInt](#isInt) — Проверяет, является ли значение целым числом.
89
+ - [isInteger](#isInteger) — Проверяет, является ли значение целым числом.
90
+ - [isList](#isList) — Проверяет, является ли значение списком.
91
+ - [isNaN](#isNaN) — Проверяет, является ли значение NaN.
92
+ - [isNull](#isNull) — Проверяет, является ли значение null.
93
+ - [isNumber](#isNumber) — Проверяет, является ли значение числом.
94
+ - [isNumeric](#isNumeric) — Проверяет, является ли значение числом или числовой строкой.
95
+ - [isObject](#isObject) — Проверяет, является ли значение объектом.
96
+ - [isScalar](#isScalar) — Проверяет, является ли значение скалярным.
97
+ - [isString](#isString) — Проверяет, является ли значение строкой.
98
+ - [isSymbol](#isSymbol) — Проверяет, является ли значение символом.
99
+ - [isUndefined](#isUndefined) — Проверяет, является ли значение undefined.
100
+ - [toArray](#toArray) — Преобразует значение в экземпляре класса `Value` к массиву.
101
+ - [toAssoc](#toAssoc) — Преобразует значение в экземпляре класса `Value` к ассоциативному
102
+ массиву.
103
+ - [toBool](#toBool) — Преобразует значение в экземпляре класса `Value` к логическому типу.
104
+ - [toBoolean](#toBoolean) — Преобразует значение в экземпляре класса `Value` к логическому
105
+ типу.
106
+ - [toFloat](#toFloat) — Преобразует значение в экземпляре класса `Value` к числу с плавающей
107
+ точкой.
108
+ - [toInt](#toInt) — Преобразует значение в экземпляре класса `Value` к целому числу.
109
+ - [toInteger](#toInteger) — Преобразует значение в экземпляре класса `Value` к целому числу.
110
+ - [toList](#toList) — Преобразует значение в экземпляре класса `Value` к списку.
111
+ - [toObject](#toObject) — Преобразует значение в экземпляре класса `Value` к объекту.
112
+ - [toString](#toString) — Преобразует значение в экземпляре класса `Value` к строке.
113
+
@@ -0,0 +1,11 @@
1
+ [Главная](../../README.md) / Классы
2
+
3
+ # Классы
4
+
5
+ - [Convert](./classes/Convert.md) — Класс, предоставляющий методы для преобразования различных
6
+ типов данных в JavaScript.
7
+ - [Type](./classes/Type.md) — Класс, предоставляющий методы для проверки типов данных в
8
+ JavaScript.
9
+ - [Value](./classes/Value.md) — Класс, представляющий обертку для значений различных типов и
10
+ предоставляющий методы для работы с ними.
11
+
@@ -0,0 +1,47 @@
1
+ [Главная](../README.md) / Константы
2
+
3
+ # Константы
4
+
5
+ Этот файл содержит константы, используемые для определения типов данных в библиотеке.
6
+
7
+ ## Сигнатура
8
+
9
+ ```ts
10
+ export const TYPE_NULL: string;
11
+ export const TYPE_NAN: string;
12
+ export const TYPE_UNDEFINED: string;
13
+ export const TYPE_INFINITY: string;
14
+ export const TYPE_BOOLEAN: string;
15
+ export const TYPE_INTEGER: string;
16
+ export const TYPE_BIGINT: string;
17
+ export const TYPE_FLOAT: string;
18
+ export const TYPE_STRING: string;
19
+ export const TYPE_SYMBOL: string;
20
+ export const TYPE_CLASS: string;
21
+ export const TYPE_FUNCTION: string;
22
+ export const TYPE_ARRAY: string;
23
+ export const TYPE_OBJECT: string;
24
+ ```
25
+
26
+ ## Описание
27
+
28
+ Константы используются для определения типов данных в библиотеке. Они представляют собой строки,
29
+ которые описывают различные типы данных.
30
+
31
+ ### Константы
32
+
33
+ - `TYPE_NULL` — Представляет тип `null`.
34
+ - `TYPE_NAN` — Представляет тип `NaN`.
35
+ - `TYPE_UNDEFINED` — Представляет тип `undefined`.
36
+ - `TYPE_INFINITY` — Представляет тип `infinity`.
37
+ - `TYPE_BOOLEAN` — Представляет тип `boolean`.
38
+ - `TYPE_INTEGER` — Представляет тип `integer`.
39
+ - `TYPE_BIGINT` — Представляет тип `bigint`.
40
+ - `TYPE_FLOAT` — Представляет тип `float`.
41
+ - `TYPE_STRING` — Представляет тип `string`.
42
+ - `TYPE_SYMBOL` — Представляет тип `symbol`.
43
+ - `TYPE_CLASS` — Представляет тип `class`.
44
+ - `TYPE_FUNCTION` — Представляет тип `function`.
45
+ - `TYPE_ARRAY` — Представляет тип `array`.
46
+ - `TYPE_OBJECT` — Представляет тип `object`.
47
+
@@ -1,80 +1,80 @@
1
- [Главная](../../README.md) / [Помощники](../helpers.md) / array
2
-
3
- [Исходный код](../../src/helpers/array.mjs)
4
-
5
- # array
6
-
7
- `array` — Создаёт массив из переданных значений, обрабатывая ассоциативные массивы (объекты с
8
- ключами).
9
-
10
- ## Сигнатура функции
11
-
12
- ```ts
13
- function array(...values: any[]): Array<any> | Object;
14
- ```
15
-
16
- ## Описание
17
-
18
- Функция принимает произвольное количество аргументов и возвращает массив, содержащий переданные
19
- значения. Если среди переданных значений есть ассоциативные массивы (объекты, не являющиеся
20
- массивами и с ненулевым прототипом), они преобразуются:
21
-
22
- - Создаётся новый объект без прототипа.
23
- - Добавляются все свойства исходного объекта.
24
- - Добавляется итератор, позволяющий использовать объект в цикле `for-of` для получения пар
25
- `[ключ, значение]`.
26
-
27
- Если передано только одно значение, и это массив, функция возвращает его напрямую.
28
-
29
- ## Параметры
30
-
31
- - `values` (any[])
32
-
33
- Один или несколько элементов, которые могут быть массивами, объектами или другими значениями.
34
-
35
- ## Возвращаемое значение
36
-
37
- Массив, содержащий переданные значения, с преобразованием ассоциативных массивов. Если передано одно
38
- значение и это массив, возвращается он сам.
39
-
40
- ## Примеры использования
41
-
42
- 1. Простые массивы:
43
-
44
- ```js
45
- const result = array([1, 2, 3]);
46
- console.log(result); // [1, 2, 3]
47
- ```
48
-
49
- 2. Ассоциативные массивы (объекты с ключами и значениями):
50
-
51
- ```js
52
- const result = array({ foo: 'bar', baz: 42 });
53
- for (const [key, value] of result[0]) {
54
- console.log(key, value);
55
- }
56
- // Вывод:
57
- // foo bar
58
- // baz 42
59
- ```
60
-
61
- 3. Смешанные значения:
62
-
63
- ```js
64
- const result = array([1, 2, 3], { foo: 'bar' }, 'hello');
65
- console.log(result);
66
- // Вывод: [[1, 2, 3], { foo: 'bar' }, 'hello']
67
- ```
68
-
69
- 4. Объекты, созданные без прототипа:
70
-
71
- ```js
72
- const noProtoObject = Object.create(null);
73
- noProtoObject.foo = 'bar';
74
- const result = array(noProtoObject);
75
- for (const [key, value] of result[0]) {
76
- console.log(key, value);
77
- }
78
- // Вывод:
79
- // foo bar
80
- ```
1
+ [Главная](../../README.md) / [Помощники](../helpers.md) / array
2
+
3
+ [Исходный код](../../src/helpers/array.mjs)
4
+
5
+ # array
6
+
7
+ `array` &mdash; Создаёт массив из переданных значений, обрабатывая ассоциативные массивы (объекты с
8
+ ключами).
9
+
10
+ ## Сигнатура функции
11
+
12
+ ```ts
13
+ function array(...values: any[]): Array<any> | Object;
14
+ ```
15
+
16
+ ## Описание
17
+
18
+ Функция принимает произвольное количество аргументов и возвращает массив, содержащий переданные
19
+ значения. Если среди переданных значений есть ассоциативные массивы (объекты, не являющиеся
20
+ массивами и с ненулевым прототипом), они преобразуются:
21
+
22
+ - Создаётся новый объект без прототипа.
23
+ - Добавляются все свойства исходного объекта.
24
+ - Добавляется итератор, позволяющий использовать объект в цикле `for-of` для получения пар
25
+ `[ключ, значение]`.
26
+
27
+ Если передано только одно значение, и это массив, функция возвращает его напрямую.
28
+
29
+ ## Параметры
30
+
31
+ - `values` (any[])
32
+
33
+ Один или несколько элементов, которые могут быть массивами, объектами или другими значениями.
34
+
35
+ ## Возвращаемое значение
36
+
37
+ Массив, содержащий переданные значения, с преобразованием ассоциативных массивов. Если передано одно
38
+ значение и это массив, возвращается он сам.
39
+
40
+ ## Примеры использования
41
+
42
+ 1. Простые массивы:
43
+
44
+ ```js
45
+ const result = array([1, 2, 3]);
46
+ console.log(result); // [1, 2, 3]
47
+ ```
48
+
49
+ 2. Ассоциативные массивы (объекты с ключами и значениями):
50
+
51
+ ```js
52
+ const result = array({ foo: 'bar', baz: 42 });
53
+ for (const [key, value] of result[0]) {
54
+ console.log(key, value);
55
+ }
56
+ // Вывод:
57
+ // foo bar
58
+ // baz 42
59
+ ```
60
+
61
+ 3. Смешанные значения:
62
+
63
+ ```js
64
+ const result = array([1, 2, 3], { foo: 'bar' }, 'hello');
65
+ console.log(result);
66
+ // Вывод: [[1, 2, 3], { foo: 'bar' }, 'hello']
67
+ ```
68
+
69
+ 4. Объекты, созданные без прототипа:
70
+
71
+ ```js
72
+ const noProtoObject = Object.create(null);
73
+ noProtoObject.foo = 'bar';
74
+ const result = array(noProtoObject);
75
+ for (const [key, value] of result[0]) {
76
+ console.log(key, value);
77
+ }
78
+ // Вывод:
79
+ // foo bar
80
+ ```
@@ -1,77 +1,77 @@
1
- [Главная](../../README.md) / [Помощники](../helpers.md) / empty
2
-
3
- [Исходный код](../../src/helpers/empty.mjs)
4
-
5
- # `empty`
6
-
7
- `empty` &mdash; Проверяет, является ли переменная пустой.
8
-
9
- ## Сигнатура функции
10
-
11
- ```ts
12
- function empty(value: any): boolean;
13
- ```
14
-
15
- ## Описание
16
-
17
- Функция `empty` используется для проверки, является ли переменная пустой. Пустыми считаются значения
18
- `null`, `undefined`, пустая строка, `0`, `false`, пустой массив и пустой объект (ассоциативный
19
- массив).
20
-
21
- ## Параметры
22
-
23
- - `value` (any)
24
-
25
- Переменная, которую необходимо проверить на пустоту.
26
-
27
- ## Возвращаемое значение
28
-
29
- Функция возвращает:
30
-
31
- - `true`, если переменная пустая, и `false` в противном случае.
32
-
33
- ## Примеры использования
34
-
35
- ### Пример 1: Проверка пустых значений
36
-
37
- ```js
38
- const result1 = empty(null);
39
- // Результат: true
40
-
41
- const result2 = empty(undefined);
42
- // Результат: true
43
-
44
- const result3 = empty('');
45
- // Результат: true
46
-
47
- const result4 = empty(0);
48
- // Результат: true
49
-
50
- const result5 = empty(false);
51
- // Результат: true
52
-
53
- const result6 = empty([]);
54
- // Результат: true
55
-
56
- const result7 = empty({});
57
- // Результат: true
58
- ```
59
-
60
- ### Пример 2: Проверка непустых значений
61
-
62
- ```js
63
- const result1 = empty('example');
64
- // Результат: false
65
-
66
- const result2 = empty(123);
67
- // Результат: false
68
-
69
- const result3 = empty(true);
70
- // Результат: false
71
-
72
- const result4 = empty([1, 2, 3]);
73
- // Результат: false
74
-
75
- const result5 = empty({ key: 'value' });
76
- // Результат: false
77
- ```
1
+ [Главная](../../README.md) / [Помощники](../helpers.md) / empty
2
+
3
+ [Исходный код](../../src/helpers/empty.mjs)
4
+
5
+ # `empty`
6
+
7
+ `empty` &mdash; Проверяет, является ли переменная пустой.
8
+
9
+ ## Сигнатура функции
10
+
11
+ ```ts
12
+ function empty(value: any): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Функция `empty` используется для проверки, является ли переменная пустой. Пустыми считаются значения
18
+ `null`, `undefined`, пустая строка, `0`, `false`, пустой массив и пустой объект (ассоциативный
19
+ массив).
20
+
21
+ ## Параметры
22
+
23
+ - `value` (any)
24
+
25
+ Переменная, которую необходимо проверить на пустоту.
26
+
27
+ ## Возвращаемое значение
28
+
29
+ Функция возвращает:
30
+
31
+ - `true`, если переменная пустая, и `false` в противном случае.
32
+
33
+ ## Примеры использования
34
+
35
+ ### Пример 1: Проверка пустых значений
36
+
37
+ ```js
38
+ const result1 = empty(null);
39
+ // Результат: true
40
+
41
+ const result2 = empty(undefined);
42
+ // Результат: true
43
+
44
+ const result3 = empty('');
45
+ // Результат: true
46
+
47
+ const result4 = empty(0);
48
+ // Результат: true
49
+
50
+ const result5 = empty(false);
51
+ // Результат: true
52
+
53
+ const result6 = empty([]);
54
+ // Результат: true
55
+
56
+ const result7 = empty({});
57
+ // Результат: true
58
+ ```
59
+
60
+ ### Пример 2: Проверка непустых значений
61
+
62
+ ```js
63
+ const result1 = empty('example');
64
+ // Результат: false
65
+
66
+ const result2 = empty(123);
67
+ // Результат: false
68
+
69
+ const result3 = empty(true);
70
+ // Результат: false
71
+
72
+ const result4 = empty([1, 2, 3]);
73
+ // Результат: false
74
+
75
+ const result5 = empty({ key: 'value' });
76
+ // Результат: false
77
+ ```
@@ -1,69 +1,69 @@
1
- [Главная](../../README.md) / [Помощники](../helpers.md) / gettype
2
-
3
- [Исходный код](../../src/helpers/gettype.mjs)
4
-
5
- # `gettype`
6
-
7
- `gettype` &mdash; Определяет тип переданного значения.
8
-
9
- ## Сигнатура функции
10
-
11
- ```ts
12
- function gettype(value: any): string;
13
- ```
14
-
15
- ## Параметры
16
-
17
- - `value` (any)
18
-
19
- Значение, тип которого необходимо определить.
20
-
21
- ## Описание
22
-
23
- Функция `gettype` определяет тип переданного значения, используя различные проверки.
24
-
25
- Она выполняет следующие проверки:
26
-
27
- 1. **Null**: Проверяет, является ли значение `null`.
28
- 2. **NaN**: Проверяет, является ли значение `NaN`.
29
- 3. **Undefined**: Проверяет, является ли значение `undefined`.
30
- 4. **Infinity**: Проверяет, является ли значение бесконечностью.
31
- 5. **Boolean**: Проверяет, является ли значение логическим.
32
- 6. **Integer**: Проверяет, является ли значение целым числом.
33
- 7. **BigInt**: Проверяет, является ли значение типом BigInt.
34
- 8. **Float**: Проверяет, является ли значение числом с плавающей точкой.
35
- 9. **String**: Проверяет, является ли значение строкой.
36
- 10. **Symbol**: Проверяет, является ли значение символом.
37
- 11. **Class**: Проверяет, является ли значение классом.
38
- 12. **Function**: Проверяет, является ли значение функцией.
39
- 13. **Array**: Проверяет, является ли значение массивом.
40
- 14. **Object**: Проверяет, является ли значение объектом.
41
-
42
- Если значение не соответствует ни одному из этих типов, функция возвращает результат `typeof value`.
43
-
44
- ## Возвращаемое значение
45
-
46
- Функция возвращает строку, представляющую тип значения.
47
-
48
- ## Примеры использования
49
-
50
- ### Пример 1: Проверка различных типов значений
51
-
52
- ```js
53
- class MyClass {}
54
-
55
- gettype(null); // "null"
56
- gettype(NaN); // "NaN"
57
- gettype(undefined); // "undefined"
58
- gettype(Infinity); // "infinity"
59
- gettype(true); // "boolean"
60
- gettype(42); // "integer"
61
- gettype(BigInt(123456)); // "bigint"
62
- gettype(3.14); // "float"
63
- gettype('hello'); // "string"
64
- gettype(Symbol('symbol')); // "symbol"
65
- gettype(MyClass); // "class"
66
- gettype(() => {}); // "function"
67
- gettype([]); // "array"
68
- gettype(new MyClass()); // "object"
69
- ```
1
+ [Главная](../../README.md) / [Помощники](../helpers.md) / gettype
2
+
3
+ [Исходный код](../../src/helpers/gettype.mjs)
4
+
5
+ # `gettype`
6
+
7
+ `gettype` &mdash; Определяет тип переданного значения.
8
+
9
+ ## Сигнатура функции
10
+
11
+ ```ts
12
+ function gettype(value: any): string;
13
+ ```
14
+
15
+ ## Параметры
16
+
17
+ - `value` (any)
18
+
19
+ Значение, тип которого необходимо определить.
20
+
21
+ ## Описание
22
+
23
+ Функция `gettype` определяет тип переданного значения, используя различные проверки.
24
+
25
+ Она выполняет следующие проверки:
26
+
27
+ 1. **Null**: Проверяет, является ли значение `null`.
28
+ 2. **NaN**: Проверяет, является ли значение `NaN`.
29
+ 3. **Undefined**: Проверяет, является ли значение `undefined`.
30
+ 4. **Infinity**: Проверяет, является ли значение бесконечностью.
31
+ 5. **Boolean**: Проверяет, является ли значение логическим.
32
+ 6. **Integer**: Проверяет, является ли значение целым числом.
33
+ 7. **BigInt**: Проверяет, является ли значение типом BigInt.
34
+ 8. **Float**: Проверяет, является ли значение числом с плавающей точкой.
35
+ 9. **String**: Проверяет, является ли значение строкой.
36
+ 10. **Symbol**: Проверяет, является ли значение символом.
37
+ 11. **Class**: Проверяет, является ли значение классом.
38
+ 12. **Function**: Проверяет, является ли значение функцией.
39
+ 13. **Array**: Проверяет, является ли значение массивом.
40
+ 14. **Object**: Проверяет, является ли значение объектом.
41
+
42
+ Если значение не соответствует ни одному из этих типов, функция возвращает результат `typeof value`.
43
+
44
+ ## Возвращаемое значение
45
+
46
+ Функция возвращает строку, представляющую тип значения.
47
+
48
+ ## Примеры использования
49
+
50
+ ### Пример 1: Проверка различных типов значений
51
+
52
+ ```js
53
+ class MyClass {}
54
+
55
+ gettype(null); // "null"
56
+ gettype(NaN); // "NaN"
57
+ gettype(undefined); // "undefined"
58
+ gettype(Infinity); // "infinity"
59
+ gettype(true); // "boolean"
60
+ gettype(42); // "integer"
61
+ gettype(BigInt(123456)); // "bigint"
62
+ gettype(3.14); // "float"
63
+ gettype('hello'); // "string"
64
+ gettype(Symbol('symbol')); // "symbol"
65
+ gettype(MyClass); // "class"
66
+ gettype(() => {}); // "function"
67
+ gettype([]); // "array"
68
+ gettype(new MyClass()); // "object"
69
+ ```