@rogolev/value 0.0.1 → 0.0.2

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 (176) hide show
  1. package/.prettierignore +4 -4
  2. package/CHANGELOG.md +68 -56
  3. package/LICENSE +41 -41
  4. package/README.md +100 -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.md +9 -0
  41. package/docs/helpers/array.md +80 -80
  42. package/docs/helpers/empty.md +77 -77
  43. package/docs/helpers/gettype.md +69 -69
  44. package/docs/helpers/is_array.md +105 -105
  45. package/docs/helpers/is_assoc.md +59 -59
  46. package/docs/helpers/is_bigint.md +57 -57
  47. package/docs/helpers/is_bool.md +50 -50
  48. package/docs/helpers/is_boolean.md +50 -50
  49. package/docs/helpers/is_class.md +73 -73
  50. package/docs/helpers/is_float.md +71 -71
  51. package/docs/helpers/is_function.md +62 -62
  52. package/docs/helpers/is_infinity.md +61 -61
  53. package/docs/helpers/is_int.md +81 -81
  54. package/docs/helpers/is_integer.md +82 -82
  55. package/docs/helpers/is_list.md +51 -51
  56. package/docs/helpers/is_nan.md +59 -59
  57. package/docs/helpers/is_null.md +49 -49
  58. package/docs/helpers/is_number.md +67 -67
  59. package/docs/helpers/is_numeric.md +76 -76
  60. package/docs/helpers/is_object.md +69 -69
  61. package/docs/helpers/is_scalar.md +60 -60
  62. package/docs/helpers/is_string.md +58 -58
  63. package/docs/helpers/is_symbol.md +58 -58
  64. package/docs/helpers/is_undefined.md +56 -56
  65. package/docs/helpers/print.md +187 -187
  66. package/docs/helpers/print_type.md +225 -225
  67. package/docs/helpers/settype.md +78 -78
  68. package/docs/helpers/to_array.md +106 -106
  69. package/docs/helpers/to_assoc.md +91 -91
  70. package/docs/helpers/to_bool.md +76 -76
  71. package/docs/helpers/to_boolean.md +77 -77
  72. package/docs/helpers/to_float.md +70 -70
  73. package/docs/helpers/to_int.md +87 -87
  74. package/docs/helpers/to_integer.md +87 -87
  75. package/docs/helpers/to_list.md +47 -47
  76. package/docs/helpers/to_object.md +76 -76
  77. package/docs/helpers/to_string.md +134 -134
  78. package/docs/helpers.md +51 -51
  79. package/docs/types/NaN.md +30 -30
  80. package/docs/types/array.md +252 -252
  81. package/docs/types/bigint.md +34 -34
  82. package/docs/types/boolean.md +47 -47
  83. package/docs/types/class.md +36 -36
  84. package/docs/types/float.md +35 -35
  85. package/docs/types/function.md +121 -121
  86. package/docs/types/infinity.md +32 -32
  87. package/docs/types/integer.md +35 -35
  88. package/docs/types/null.md +23 -23
  89. package/docs/types/object.md +62 -62
  90. package/docs/types/string.md +33 -33
  91. package/docs/types/symbol.md +29 -29
  92. package/docs/types/undefined.md +25 -25
  93. package/docs/types.md +44 -44
  94. package/eslint.config.mjs +1664 -1664
  95. package/index.mjs +40 -37
  96. package/jest.config.mjs +31 -31
  97. package/package.json +48 -47
  98. package/prettier.config.mjs +224 -224
  99. package/src/classes/Convert.mjs +819 -0
  100. package/src/classes/Type.mjs +1285 -0
  101. package/src/helpers/array.mjs +107 -107
  102. package/src/helpers/empty.mjs +70 -70
  103. package/src/helpers/gettype.mjs +133 -133
  104. package/src/helpers/is_array.mjs +128 -128
  105. package/src/helpers/is_assoc.mjs +51 -51
  106. package/src/helpers/is_bigint.mjs +47 -47
  107. package/src/helpers/is_bool.mjs +43 -43
  108. package/src/helpers/is_boolean.mjs +43 -43
  109. package/src/helpers/is_class.mjs +87 -87
  110. package/src/helpers/is_float.mjs +67 -67
  111. package/src/helpers/is_function.mjs +74 -74
  112. package/src/helpers/is_infinity.mjs +52 -52
  113. package/src/helpers/is_int.mjs +57 -57
  114. package/src/helpers/is_integer.mjs +74 -74
  115. package/src/helpers/is_list.mjs +43 -43
  116. package/src/helpers/is_nan.mjs +51 -51
  117. package/src/helpers/is_null.mjs +37 -37
  118. package/src/helpers/is_number.mjs +49 -49
  119. package/src/helpers/is_numeric.mjs +64 -64
  120. package/src/helpers/is_object.mjs +72 -72
  121. package/src/helpers/is_scalar.mjs +45 -45
  122. package/src/helpers/is_string.mjs +46 -46
  123. package/src/helpers/is_symbol.mjs +46 -46
  124. package/src/helpers/is_undefined.mjs +44 -44
  125. package/src/helpers/print.mjs +245 -245
  126. package/src/helpers/print_type.mjs +261 -261
  127. package/src/helpers/settype.mjs +101 -101
  128. package/src/helpers/to_array.mjs +118 -118
  129. package/src/helpers/to_assoc.mjs +98 -98
  130. package/src/helpers/to_bool.mjs +68 -68
  131. package/src/helpers/to_boolean.mjs +64 -64
  132. package/src/helpers/to_float.mjs +72 -72
  133. package/src/helpers/to_int.mjs +93 -93
  134. package/src/helpers/to_integer.mjs +81 -81
  135. package/src/helpers/to_list.mjs +56 -56
  136. package/src/helpers/to_object.mjs +94 -94
  137. package/src/helpers/to_string.mjs +157 -157
  138. package/tests/classes/Convert.test.mjs +399 -0
  139. package/tests/classes/Type.test.mjs +1263 -0
  140. package/tests/helpers/array.test.mjs +58 -58
  141. package/tests/helpers/empty.test.mjs +22 -22
  142. package/tests/helpers/gettype.test.mjs +74 -74
  143. package/tests/helpers/is_array.test.mjs +404 -404
  144. package/tests/helpers/is_assoc.test.mjs +42 -42
  145. package/tests/helpers/is_bigint.test.mjs +51 -51
  146. package/tests/helpers/is_bool.test.mjs +43 -43
  147. package/tests/helpers/is_boolean.test.mjs +43 -43
  148. package/tests/helpers/is_class.test.mjs +84 -84
  149. package/tests/helpers/is_float.test.mjs +87 -87
  150. package/tests/helpers/is_function.test.mjs +83 -83
  151. package/tests/helpers/is_infinity.test.mjs +46 -46
  152. package/tests/helpers/is_int.test.mjs +45 -45
  153. package/tests/helpers/is_integer.test.mjs +64 -64
  154. package/tests/helpers/is_list.test.mjs +42 -42
  155. package/tests/helpers/is_nan.test.mjs +43 -43
  156. package/tests/helpers/is_null.test.mjs +17 -17
  157. package/tests/helpers/is_number.test.mjs +25 -25
  158. package/tests/helpers/is_numeric.test.mjs +30 -30
  159. package/tests/helpers/is_object.test.mjs +52 -52
  160. package/tests/helpers/is_scalar.test.mjs +21 -21
  161. package/tests/helpers/is_string.test.mjs +20 -20
  162. package/tests/helpers/is_symbol.test.mjs +20 -20
  163. package/tests/helpers/is_undefined.test.mjs +18 -18
  164. package/tests/helpers/print.test.mjs +62 -62
  165. package/tests/helpers/print_type.test.mjs +62 -62
  166. package/tests/helpers/settype.test.mjs +34 -34
  167. package/tests/helpers/to_array.test.mjs +38 -38
  168. package/tests/helpers/to_assoc.test.mjs +33 -33
  169. package/tests/helpers/to_bool.test.mjs +51 -51
  170. package/tests/helpers/to_boolean.test.mjs +51 -51
  171. package/tests/helpers/to_float.test.mjs +26 -26
  172. package/tests/helpers/to_int.test.mjs +48 -48
  173. package/tests/helpers/to_integer.test.mjs +48 -48
  174. package/tests/helpers/to_list.test.mjs +32 -32
  175. package/tests/helpers/to_object.test.mjs +36 -36
  176. package/tests/helpers/to_string.test.mjs +71 -71
@@ -0,0 +1,54 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isString
2
+
3
+ [Исходный код](../../../src/classes/Type.mjs)
4
+
5
+ # Type.isString
6
+
7
+ `Type.isString` — Проверяет, является ли значение строкой.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ static isString(value: any): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `Type.isString` проверяет, является ли переданное значение строкой.
18
+
19
+ Он использует оператор `typeof` для проверки типа значения.
20
+
21
+ Метод возвращает `false` для значений других типов, таких как числа, объекты или массивы.
22
+
23
+ ## Параметры
24
+
25
+ - `value` (any)
26
+
27
+ Значение, которое необходимо проверить.
28
+
29
+ ## Возвращаемое значение
30
+
31
+ Возвращает `true`, если значение является строкой, и `false` в противном случае.
32
+
33
+ ## Примеры использования
34
+
35
+ 1. Проверка строковых значений:
36
+
37
+ ```js
38
+ Type.isString('hello'); // true
39
+ Type.isString(''); // true
40
+ Type.isString(`template string`); // true
41
+ ```
42
+
43
+ 2. Проверка значений других типов:
44
+
45
+ ```js
46
+ Type.isString(42); // false (число)
47
+ Type.isString(true); // false (логическое значение)
48
+ Type.isString(null); // false
49
+ Type.isString(undefined); // false
50
+ Type.isString({}); // false (объект)
51
+ Type.isString([]); // false (массив)
52
+ Type.isString(() => {}); // false (функция)
53
+ ```
54
+
@@ -0,0 +1,56 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isSymbol
2
+
3
+ [Исходный код](../../../src/classes/Type.mjs)
4
+
5
+ # Type.isSymbol
6
+
7
+ `Type.isSymbol` — Проверяет, является ли значение символом.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ static isSymbol(value: any): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `Type.isSymbol` предназначен для проверки, является ли переданное значение символом.
18
+
19
+ Он проверяет:
20
+
21
+ 1. Что значение имеет тип `symbol`.
22
+
23
+ Метод возвращает `false` для всех значений, не принадлежащих типу `symbol`.
24
+
25
+ ## Параметры
26
+
27
+ - `value` (any)
28
+
29
+ Проверяемая переменная.
30
+
31
+ ## Возвращаемое значение
32
+
33
+ Возвращает `true`, если значение является символом, иначе `false`.
34
+
35
+ ## Примеры использования
36
+
37
+ 1. Проверка символов:
38
+
39
+ ```js
40
+ Type.isSymbol(Symbol('symbol')); // true
41
+ Type.isSymbol(Symbol.iterator); // true
42
+ ```
43
+
44
+ 2. Проверка значений других типов:
45
+
46
+ ```js
47
+ Type.isSymbol('hello'); // false (строка)
48
+ Type.isSymbol(42); // false (число)
49
+ Type.isSymbol(true); // false (логическое значение)
50
+ Type.isSymbol(null); // false
51
+ Type.isSymbol(undefined); // false
52
+ Type.isSymbol({}); // false (объект)
53
+ Type.isSymbol([]); // false (массив)
54
+ Type.isSymbol(() => {}); // false (функция)
55
+ ```
56
+
@@ -0,0 +1,52 @@
1
+ [Главная](../../../README.md) / [Классы](../../classes.md) / [Type](../Type.md) / isUndefined
2
+
3
+ [Исходный код](../../../src/classes/Type.mjs)
4
+
5
+ # Type.isUndefined
6
+
7
+ `Type.isUndefined` — Проверяет, является ли значение `undefined`.
8
+
9
+ ## Сигнатура метода
10
+
11
+ ```ts
12
+ static isUndefined(value: any): boolean;
13
+ ```
14
+
15
+ ## Описание
16
+
17
+ Метод `Type.isUndefined` проверяет, является ли переданное значение `undefined`.
18
+
19
+ Он использует оператор `typeof` для проверки типа значения.
20
+
21
+ Метод возвращает `false` для всех значений, не принадлежащих типу `undefined`.
22
+
23
+ ## Параметры
24
+
25
+ - `value` (any)
26
+
27
+ Проверяемая переменная.
28
+
29
+ ## Возвращаемое значение
30
+
31
+ Возвращает `true`, если значение является `undefined`, иначе `false`.
32
+
33
+ ## Примеры использования
34
+
35
+ 1. Проверка значения `undefined`:
36
+
37
+ ```js
38
+ Type.isUndefined(undefined); // true
39
+ ```
40
+
41
+ 2. Проверка значений других типов:
42
+
43
+ ```js
44
+ Type.isUndefined(null); // false
45
+ Type.isUndefined(42); // false (число)
46
+ Type.isUndefined('hello'); // false (строка)
47
+ Type.isUndefined(true); // false (логическое значение)
48
+ Type.isUndefined({}); // false (объект)
49
+ Type.isUndefined([]); // false (массив)
50
+ Type.isUndefined(() => {}); // false (функция)
51
+ ```
52
+
@@ -0,0 +1,74 @@
1
+ [Главная](../../README.md) / [Классы](../classes.md) / Type
2
+
3
+ [Исходный код](../../src/classes/Type.mjs)
4
+
5
+ # Type
6
+
7
+ `Type` — Класс, предоставляющий методы для проверки типов данных в JavaScript.
8
+
9
+ ## Сигнатура класса
10
+
11
+ ```ts
12
+ class Type {
13
+ static isEmpty(value: any): boolean;
14
+ static isArray(value: any): boolean;
15
+ static isAssoc(value: any): boolean;
16
+ static isBigInt(value: any): boolean;
17
+ static isBool(value: any): boolean;
18
+ static isBoolean(value: any): boolean;
19
+ static isClass(value: any): boolean;
20
+ static isFloat(value: any): boolean;
21
+ static isFunction(value: any): boolean;
22
+ static isInfinity(value: any): boolean;
23
+ static isInt(value: any): boolean;
24
+ static isInteger(value: any): boolean;
25
+ static isList(value: any): boolean;
26
+ static isNaN(value: any): boolean;
27
+ static isNull(value: any): boolean;
28
+ static isNumber(value: any): boolean;
29
+ static isNumeric(value: any): boolean;
30
+ static isObject(value: any): boolean;
31
+ static isScalar(value: any): boolean;
32
+ static isString(value: any): boolean;
33
+ static isSymbol(value: any): boolean;
34
+ static isUndefined(value: any): boolean;
35
+ }
36
+ ```
37
+
38
+ ## Описание
39
+
40
+ Класс `Type` включает в себя статические методы, которые позволяют проверять типы различных
41
+ значений. Эти методы охватывают широкий спектр типов данных, включая примитивы, объекты, массивы,
42
+ функции и специальные значения.
43
+
44
+ ### Методы
45
+
46
+ - [isEmpty](./Type/isEmpty.md) — Проверяет, является ли переменная пустой.
47
+ - [isArray](./Type/isArray.md) — Проверяет, является ли переданное значение массивом или
48
+ ассоциативным массивом.
49
+ - [isAssoc](./Type/isAssoc.md) — Проверяет, является ли значение ассоциативным массивом.
50
+ - [isBigInt](./Type/isBigInt.md) — Проверяет, является ли значение типом `bigint`.
51
+ - [isBool](./Type/isBool.md) — Проверяет, является ли переданное значение логическим типом
52
+ (`boolean`).
53
+ - [isBoolean](./Type/isBoolean.md) — Проверяет, является ли переданное значение логическим
54
+ типом (`boolean`).
55
+ - [isClass](./Type/isClass.md) — Проверяет, является ли переданная переменная классом.
56
+ - [isFloat](./Type/isFloat.md) — Проверяет, является ли значение числом с плавающей точкой.
57
+ - [isFunction](./Type/isFunction.md) — Проверяет, что значение является функцией, исключая
58
+ классы.
59
+ - [isInfinity](./Type/isInfinity.md) — Проверяет, является ли значение бесконечностью
60
+ (`Infinity` или `-Infinity`).
61
+ - [isInt](./Type/isInt.md) — Проверяет, является ли значение целым числом.
62
+ - [isInteger](./Type/isInteger.md) — Проверяет, является ли значение целым числом.
63
+ - [isList](./Type/isList.md) — Проверяет, является ли значение списком.
64
+ - [isNaN](./Type/isNaN.md) — Проверяет, является ли значение NaN.
65
+ - [isNull](./Type/isNull.md) — Проверяет, является ли значение `null`.
66
+ - [isNumber](./Type/isNumber.md) — Проверяет, является ли значение числом.
67
+ - [isNumeric](./Type/isNumeric.md) — Проверяет, является ли значение числом или числовой
68
+ строкой.
69
+ - [isObject](./Type/isObject.md) — Проверяет, является ли переданная переменная объектом.
70
+ - [isScalar](./Type/isScalar.md) — Проверяет, является ли значение скалярным.
71
+ - [isString](./Type/isString.md) — Проверяет, является ли значение строкой.
72
+ - [isSymbol](./Type/isSymbol.md) — Проверяет, является ли значение символом.
73
+ - [isUndefined](./Type/isUndefined.md) — Проверяет, является ли значение `undefined`.
74
+
@@ -0,0 +1,9 @@
1
+ [Главная](../../README.md) / Классы
2
+
3
+ # Классы
4
+
5
+ - [Convert](./classes/Convert.md) — Класс, предоставляющий методы для преобразования различных
6
+ типов данных в JavaScript.
7
+ - [Type](./classes/Type.md) — Класс, предоставляющий методы для проверки типов данных в
8
+ JavaScript.
9
+
@@ -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
+ ```