@rogolev/value 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +19 -1
  3. package/docs/classes/Value/constructor.md +48 -0
  4. package/docs/classes/Value/get.md +51 -0
  5. package/docs/classes/Value/getType.md +71 -0
  6. package/docs/classes/Value/isArray.md +67 -0
  7. package/docs/classes/Value/isAssoc.md +68 -0
  8. package/docs/classes/Value/isBigInt.md +52 -0
  9. package/docs/classes/Value/isBool.md +60 -0
  10. package/docs/classes/Value/isBoolean.md +60 -0
  11. package/docs/classes/Value/isClass.md +55 -0
  12. package/docs/classes/Value/isEmpty.md +84 -0
  13. package/docs/classes/Value/isFloat.md +52 -0
  14. package/docs/classes/Value/isFunction.md +60 -0
  15. package/docs/classes/Value/isInfinity.md +60 -0
  16. package/docs/classes/Value/isInt.md +52 -0
  17. package/docs/classes/Value/isInteger.md +52 -0
  18. package/docs/classes/Value/isList.md +59 -0
  19. package/docs/classes/Value/isNaN.md +79 -0
  20. package/docs/classes/Value/isNull.md +59 -0
  21. package/docs/classes/Value/isNumber.md +80 -0
  22. package/docs/classes/Value/isNumeric.md +79 -0
  23. package/docs/classes/Value/isObject.md +68 -0
  24. package/docs/classes/Value/isScalar.md +72 -0
  25. package/docs/classes/Value/isString.md +67 -0
  26. package/docs/classes/Value/isSymbol.md +75 -0
  27. package/docs/classes/Value/isUndefined.md +67 -0
  28. package/docs/classes/Value/print.md +164 -0
  29. package/docs/classes/Value/printType.md +158 -0
  30. package/docs/classes/Value/setType.md +79 -0
  31. package/docs/classes/Value/toArray.md +85 -0
  32. package/docs/classes/Value/toAssoc.md +85 -0
  33. package/docs/classes/Value/toBool.md +71 -0
  34. package/docs/classes/Value/toBoolean.md +71 -0
  35. package/docs/classes/Value/toFloat.md +72 -0
  36. package/docs/classes/Value/toInt.md +72 -0
  37. package/docs/classes/Value/toInteger.md +72 -0
  38. package/docs/classes/Value/toList.md +77 -0
  39. package/docs/classes/Value/toObject.md +78 -0
  40. package/docs/classes/Value/toPrint.md +115 -0
  41. package/docs/classes/Value/toPrintType.md +110 -0
  42. package/docs/classes/Value/toString.md +134 -0
  43. package/docs/classes/Value.md +113 -0
  44. package/docs/classes.md +2 -0
  45. package/docs/constants.md +47 -0
  46. package/docs/helpers/value.md +95 -0
  47. package/docs/helpers.md +2 -0
  48. package/index.mjs +3 -0
  49. package/package.json +2 -2
  50. package/src/classes/Convert.mjs +818 -819
  51. package/src/classes/Type.mjs +1284 -1285
  52. package/src/classes/Value.mjs +2846 -0
  53. package/src/constants.mjs +14 -0
  54. package/src/helpers/array.mjs +107 -107
  55. package/src/helpers/empty.mjs +70 -70
  56. package/src/helpers/gettype.mjs +149 -133
  57. package/src/helpers/is_array.mjs +128 -128
  58. package/src/helpers/is_assoc.mjs +51 -51
  59. package/src/helpers/is_bigint.mjs +47 -47
  60. package/src/helpers/is_bool.mjs +43 -43
  61. package/src/helpers/is_boolean.mjs +43 -43
  62. package/src/helpers/is_class.mjs +87 -87
  63. package/src/helpers/is_float.mjs +67 -67
  64. package/src/helpers/is_function.mjs +74 -74
  65. package/src/helpers/is_infinity.mjs +52 -52
  66. package/src/helpers/is_int.mjs +57 -57
  67. package/src/helpers/is_integer.mjs +74 -74
  68. package/src/helpers/is_list.mjs +43 -43
  69. package/src/helpers/is_nan.mjs +51 -51
  70. package/src/helpers/is_null.mjs +37 -37
  71. package/src/helpers/is_number.mjs +49 -49
  72. package/src/helpers/is_numeric.mjs +64 -64
  73. package/src/helpers/is_object.mjs +72 -72
  74. package/src/helpers/is_scalar.mjs +45 -45
  75. package/src/helpers/is_string.mjs +46 -46
  76. package/src/helpers/is_symbol.mjs +46 -46
  77. package/src/helpers/is_undefined.mjs +44 -44
  78. package/src/helpers/print.mjs +245 -245
  79. package/src/helpers/print_type.mjs +261 -261
  80. package/src/helpers/settype.mjs +101 -101
  81. package/src/helpers/to_array.mjs +118 -118
  82. package/src/helpers/to_assoc.mjs +98 -98
  83. package/src/helpers/to_bool.mjs +68 -68
  84. package/src/helpers/to_boolean.mjs +64 -64
  85. package/src/helpers/to_float.mjs +72 -72
  86. package/src/helpers/to_int.mjs +93 -93
  87. package/src/helpers/to_integer.mjs +81 -81
  88. package/src/helpers/to_list.mjs +56 -56
  89. package/src/helpers/to_object.mjs +94 -94
  90. package/src/helpers/to_string.mjs +157 -157
  91. package/src/helpers/value.mjs +92 -0
  92. package/tests/classes/Convert.test.mjs +398 -399
  93. package/tests/classes/Type.test.mjs +1262 -1263
  94. package/tests/classes/Value.test.mjs +423 -0
  95. package/tests/constants.test.mjs +75 -0
  96. package/tests/helpers/array.test.mjs +58 -58
  97. package/tests/helpers/empty.test.mjs +22 -22
  98. package/tests/helpers/gettype.test.mjs +74 -74
  99. package/tests/helpers/is_array.test.mjs +404 -404
  100. package/tests/helpers/is_assoc.test.mjs +42 -42
  101. package/tests/helpers/is_bigint.test.mjs +51 -51
  102. package/tests/helpers/is_bool.test.mjs +43 -43
  103. package/tests/helpers/is_boolean.test.mjs +43 -43
  104. package/tests/helpers/is_class.test.mjs +84 -84
  105. package/tests/helpers/is_float.test.mjs +87 -87
  106. package/tests/helpers/is_function.test.mjs +83 -83
  107. package/tests/helpers/is_infinity.test.mjs +46 -46
  108. package/tests/helpers/is_int.test.mjs +45 -45
  109. package/tests/helpers/is_integer.test.mjs +64 -64
  110. package/tests/helpers/is_list.test.mjs +42 -42
  111. package/tests/helpers/is_nan.test.mjs +43 -43
  112. package/tests/helpers/is_null.test.mjs +17 -17
  113. package/tests/helpers/is_number.test.mjs +25 -25
  114. package/tests/helpers/is_numeric.test.mjs +30 -30
  115. package/tests/helpers/is_object.test.mjs +52 -52
  116. package/tests/helpers/is_scalar.test.mjs +21 -21
  117. package/tests/helpers/is_string.test.mjs +20 -20
  118. package/tests/helpers/is_symbol.test.mjs +20 -20
  119. package/tests/helpers/is_undefined.test.mjs +18 -18
  120. package/tests/helpers/print.test.mjs +62 -62
  121. package/tests/helpers/print_type.test.mjs +62 -62
  122. package/tests/helpers/settype.test.mjs +34 -34
  123. package/tests/helpers/to_array.test.mjs +38 -38
  124. package/tests/helpers/to_assoc.test.mjs +33 -33
  125. package/tests/helpers/to_bool.test.mjs +51 -51
  126. package/tests/helpers/to_boolean.test.mjs +51 -51
  127. package/tests/helpers/to_float.test.mjs +26 -26
  128. package/tests/helpers/to_int.test.mjs +48 -48
  129. package/tests/helpers/to_integer.test.mjs +48 -48
  130. package/tests/helpers/to_list.test.mjs +32 -32
  131. package/tests/helpers/to_object.test.mjs +36 -36
  132. package/tests/helpers/to_string.test.mjs +71 -71
  133. package/tests/helpers/value.test.mjs +68 -0
@@ -1,128 +1,128 @@
1
- /**
2
- * Проверяет, является ли переданное значение массивом или ассоциативным массивом (объектом с ключами и значениями).
3
- *
4
- * ### Описание
5
- *
6
- * В JavaScript массивы и объекты имеют разные структуры и предназначения:
7
- *
8
- * - Массивы (Array) являются упорядоченными коллекциями элементов, которые могут быть индексированы.
9
- * - Объекты (Object) содержат пары "ключ-значение", которые могут быть неупорядоченными.
10
- *
11
- * Эта функция проверяет, является ли переданное значение обычным массивом (например, `[1, 2, 3]`),
12
- * либо ассоциативным массивом (объектом с парами "ключ-значение", например, `{foo: 'bar'}`).
13
- *
14
- * ### Алгоритм работы функции
15
- *
16
- * 1. Сначала проверяется, является ли переданное значение обычным массивом с помощью встроенного метода `Array.isArray(value)`. Если это массив, функция сразу возвращает `true`.
17
- *
18
- * 2. Если переменная не является массивом, то выполняются дополнительные проверки:
19
- *
20
- * - Проверяется, что значение не равно `null` (так как `null` в JavaScript также является объектом, но не является ни массивом, ни объектом с парами "ключ-значение").
21
- * - Проверяется, что значение является объектом JavaScript (с помощью `typeof value === 'object'`).
22
- * - Проверяется, что прототип объекта совпадает с `Object.prototype` (это объект, от которого наследуются все объекты в JavaScript) или является `null` (это означает, что объект был создан с помощью `Object.create(null)` и не имеет прототипа).
23
- * - Исключаются массивоподобные объекты (например, `arguments`, `NodeList`), путем проверки, что свойство `length` не является собственным свойством объекта.
24
- * - Дополнительно проверяется, что объект является простым (его конструктор равен `Object`), а также исключаются встроенные объекты (`Math`, `JSON`, `Reflect`, `Intl`), для которых функция возвращает `true`.
25
- *
26
- * ### Параметры
27
- *
28
- * - `value` (any)
29
- * Проверяемая переменная.
30
- *
31
- * ### Возвращаемое значение
32
- *
33
- * Возвращает `true`, если переменная является обычным массивом (`Array`), ассоциативным массивом (объектом с парами "ключ-значение"), ассоциативным массивом, созданным с помощью `Object.create(null)`. В остальных случаях функция возвращает `false`.
34
- *
35
- * ### Примеры использования
36
- *
37
- * 1. Простые массивы:
38
- *
39
- * ```js
40
- * is_array([1, 2, 3]); // true
41
- * is_array([]); // true
42
- * ```
43
- *
44
- * 2. Ассоциативные массивы (объекты с ключами и значениями):
45
- *
46
- * ```js
47
- * is_array({ foo: 'bar', baz: 42 }); // true
48
- * is_array({ '0': 'a', '1': 'b' }); // true
49
- * ```
50
- *
51
- * 3. Объекты, созданные без прототипа:
52
- *
53
- * ```js
54
- * const noProtoObject = Object.create(null);
55
- * noProtoObject.foo = 'bar';
56
- * is_array(noProtoObject); // true
57
- * ```
58
- *
59
- * 4. Примитивы и невалидные значения:
60
- *
61
- * ```js
62
- * is_array(null); // false
63
- * is_array(undefined); // false
64
- * is_array(42); // false
65
- * is_array('hello'); // false
66
- * ```
67
- *
68
- * 5. Специальные объекты:
69
- *
70
- * ```js
71
- * is_array(new Map()); // false
72
- * is_array(new Set()); // false
73
- * is_array(() => {}); // false
74
- * ```
75
- *
76
- * 6. Классы и их экземпляры:
77
- *
78
- * ```js
79
- * class MyClass {}
80
- * const instance = new MyClass();
81
- * is_array(instance); // false
82
- * ```
83
- *
84
- * @param {any} value Проверяемая переменная.
85
- * @returns {boolean} Возвращает `true`, если значение является массивом или ассоциативным массивом, иначе `false`.
86
- */
87
- export default function is_array(value) {
88
- // Для массивов (Array) возвращаем `true` по умолчанию.
89
- if (Array.isArray(value)) {
90
- return true;
91
- }
92
-
93
- // Далее работаем только с объектами.
94
- if (!value || typeof value !== 'object') {
95
- return false;
96
- }
97
-
98
- // Если у переданного объекта отсутствует прототип, то это означает,
99
- // что объект является контейнером пар ключ-значение без встроенных методов,
100
- // наследуемых от прототипа Object.prototype.
101
- // Такой контейнер можно создать с помощью конструкции `Object.create(null)`
102
- // или с помощью функции `array({})`.
103
- if (Object.getPrototypeOf(value) === null) {
104
- return true;
105
- }
106
-
107
- // Исключаем встроенные объекты Math, JSON, Reflect, Intl, для которых
108
- // функция возвращает `true`.
109
- if ([Math, JSON, Reflect, Intl].includes(value)) {
110
- return false;
111
- }
112
-
113
- // Если у объекта присутствует свойство `length`, то это означает, что
114
- // передан массивоподобный объект, например `arguments`.
115
- // С точки зрения данной функции, данные объекты считать
116
- // ассоциативными массивами нельзя.
117
- if (Object.hasOwn(value, 'length')) {
118
- return false;
119
- }
120
-
121
- // Если прототип переданного объекта - `Object.prototype`, то передан
122
- // обычный объект.
123
- if (Object.getPrototypeOf(value) === Object.prototype) {
124
- return true;
125
- }
126
-
127
- return false;
128
- }
1
+ /**
2
+ * Проверяет, является ли переданное значение массивом или ассоциативным массивом (объектом с ключами и значениями).
3
+ *
4
+ * ### Описание
5
+ *
6
+ * В JavaScript массивы и объекты имеют разные структуры и предназначения:
7
+ *
8
+ * - Массивы (Array) являются упорядоченными коллекциями элементов, которые могут быть индексированы.
9
+ * - Объекты (Object) содержат пары "ключ-значение", которые могут быть неупорядоченными.
10
+ *
11
+ * Эта функция проверяет, является ли переданное значение обычным массивом (например, `[1, 2, 3]`),
12
+ * либо ассоциативным массивом (объектом с парами "ключ-значение", например, `{foo: 'bar'}`).
13
+ *
14
+ * ### Алгоритм работы функции
15
+ *
16
+ * 1. Сначала проверяется, является ли переданное значение обычным массивом с помощью встроенного метода `Array.isArray(value)`. Если это массив, функция сразу возвращает `true`.
17
+ *
18
+ * 2. Если переменная не является массивом, то выполняются дополнительные проверки:
19
+ *
20
+ * - Проверяется, что значение не равно `null` (так как `null` в JavaScript также является объектом, но не является ни массивом, ни объектом с парами "ключ-значение").
21
+ * - Проверяется, что значение является объектом JavaScript (с помощью `typeof value === 'object'`).
22
+ * - Проверяется, что прототип объекта совпадает с `Object.prototype` (это объект, от которого наследуются все объекты в JavaScript) или является `null` (это означает, что объект был создан с помощью `Object.create(null)` и не имеет прототипа).
23
+ * - Исключаются массивоподобные объекты (например, `arguments`, `NodeList`), путем проверки, что свойство `length` не является собственным свойством объекта.
24
+ * - Дополнительно проверяется, что объект является простым (его конструктор равен `Object`), а также исключаются встроенные объекты (`Math`, `JSON`, `Reflect`, `Intl`), для которых функция возвращает `true`.
25
+ *
26
+ * ### Параметры
27
+ *
28
+ * - `value` (any)
29
+ * Проверяемая переменная.
30
+ *
31
+ * ### Возвращаемое значение
32
+ *
33
+ * Возвращает `true`, если переменная является обычным массивом (`Array`), ассоциативным массивом (объектом с парами "ключ-значение"), ассоциативным массивом, созданным с помощью `Object.create(null)`. В остальных случаях функция возвращает `false`.
34
+ *
35
+ * ### Примеры использования
36
+ *
37
+ * 1. Простые массивы:
38
+ *
39
+ * ```js
40
+ * is_array([1, 2, 3]); // true
41
+ * is_array([]); // true
42
+ * ```
43
+ *
44
+ * 2. Ассоциативные массивы (объекты с ключами и значениями):
45
+ *
46
+ * ```js
47
+ * is_array({ foo: 'bar', baz: 42 }); // true
48
+ * is_array({ '0': 'a', '1': 'b' }); // true
49
+ * ```
50
+ *
51
+ * 3. Объекты, созданные без прототипа:
52
+ *
53
+ * ```js
54
+ * const noProtoObject = Object.create(null);
55
+ * noProtoObject.foo = 'bar';
56
+ * is_array(noProtoObject); // true
57
+ * ```
58
+ *
59
+ * 4. Примитивы и невалидные значения:
60
+ *
61
+ * ```js
62
+ * is_array(null); // false
63
+ * is_array(undefined); // false
64
+ * is_array(42); // false
65
+ * is_array('hello'); // false
66
+ * ```
67
+ *
68
+ * 5. Специальные объекты:
69
+ *
70
+ * ```js
71
+ * is_array(new Map()); // false
72
+ * is_array(new Set()); // false
73
+ * is_array(() => {}); // false
74
+ * ```
75
+ *
76
+ * 6. Классы и их экземпляры:
77
+ *
78
+ * ```js
79
+ * class MyClass {}
80
+ * const instance = new MyClass();
81
+ * is_array(instance); // false
82
+ * ```
83
+ *
84
+ * @param {any} value Проверяемая переменная.
85
+ * @returns {boolean} Возвращает `true`, если значение является массивом или ассоциативным массивом, иначе `false`.
86
+ */
87
+ export default function is_array(value) {
88
+ // Для массивов (Array) возвращаем `true` по умолчанию.
89
+ if (Array.isArray(value)) {
90
+ return true;
91
+ }
92
+
93
+ // Далее работаем только с объектами.
94
+ if (!value || typeof value !== 'object') {
95
+ return false;
96
+ }
97
+
98
+ // Если у переданного объекта отсутствует прототип, то это означает,
99
+ // что объект является контейнером пар ключ-значение без встроенных методов,
100
+ // наследуемых от прототипа Object.prototype.
101
+ // Такой контейнер можно создать с помощью конструкции `Object.create(null)`
102
+ // или с помощью функции `array({})`.
103
+ if (Object.getPrototypeOf(value) === null) {
104
+ return true;
105
+ }
106
+
107
+ // Исключаем встроенные объекты Math, JSON, Reflect, Intl, для которых
108
+ // функция возвращает `true`.
109
+ if ([Math, JSON, Reflect, Intl].includes(value)) {
110
+ return false;
111
+ }
112
+
113
+ // Если у объекта присутствует свойство `length`, то это означает, что
114
+ // передан массивоподобный объект, например `arguments`.
115
+ // С точки зрения данной функции, данные объекты считать
116
+ // ассоциативными массивами нельзя.
117
+ if (Object.hasOwn(value, 'length')) {
118
+ return false;
119
+ }
120
+
121
+ // Если прототип переданного объекта - `Object.prototype`, то передан
122
+ // обычный объект.
123
+ if (Object.getPrototypeOf(value) === Object.prototype) {
124
+ return true;
125
+ }
126
+
127
+ return false;
128
+ }
@@ -1,51 +1,51 @@
1
- import is_array from './is_array.mjs';
2
-
3
- /**
4
- * Проверяет, является ли значение ассоциативным массивом.
5
- *
6
- * ### Параметры
7
- *
8
- * - `value` (any)
9
- * Значение, которое необходимо проверить.
10
- *
11
- * ### Описание
12
- *
13
- * Функция `is_assoc` проверяет, является ли переданное значение ассоциативным массивом.
14
- *
15
- * Она использует метод `is_array` для проверки значения и убеждается, что значение не является обычным массивом.
16
- *
17
- * ### Возвращаемое значение
18
- *
19
- * Возвращает `true`, если значение является ассоциативным массивом, и `false` в противном случае.
20
- *
21
- * ### Примеры использования
22
- *
23
- * #### Пример 1: Проверка ассоциативных массивов
24
- *
25
- * ```js
26
- * is_assoc({ foo: 'bar' }); // true
27
- * is_assoc({}); // true
28
- * ```
29
- *
30
- * #### Пример 2: Проверка обычных массивов
31
- *
32
- * ```js
33
- * is_assoc([]); // false
34
- * is_assoc([1, 2, 3]); // false
35
- * ```
36
- *
37
- * #### Пример 3: Проверка значений других типов
38
- *
39
- * ```js
40
- * is_assoc('string'); // false (строка)
41
- * is_assoc(42); // false (число)
42
- * is_assoc(null); // false
43
- * is_assoc(undefined); // false
44
- * ```
45
- *
46
- * @param {any} value Значение, которое необходимо проверить.
47
- * @returns {boolean} Возвращает `true`, если значение является ассоциативным массивом, и `false` в противном случае.
48
- */
49
- export default function is_assoc(value) {
50
- return is_array(value) && !Array.isArray(value);
51
- }
1
+ import is_array from './is_array.mjs';
2
+
3
+ /**
4
+ * Проверяет, является ли значение ассоциативным массивом.
5
+ *
6
+ * ### Параметры
7
+ *
8
+ * - `value` (any)
9
+ * Значение, которое необходимо проверить.
10
+ *
11
+ * ### Описание
12
+ *
13
+ * Функция `is_assoc` проверяет, является ли переданное значение ассоциативным массивом.
14
+ *
15
+ * Она использует метод `is_array` для проверки значения и убеждается, что значение не является обычным массивом.
16
+ *
17
+ * ### Возвращаемое значение
18
+ *
19
+ * Возвращает `true`, если значение является ассоциативным массивом, и `false` в противном случае.
20
+ *
21
+ * ### Примеры использования
22
+ *
23
+ * #### Пример 1: Проверка ассоциативных массивов
24
+ *
25
+ * ```js
26
+ * is_assoc({ foo: 'bar' }); // true
27
+ * is_assoc({}); // true
28
+ * ```
29
+ *
30
+ * #### Пример 2: Проверка обычных массивов
31
+ *
32
+ * ```js
33
+ * is_assoc([]); // false
34
+ * is_assoc([1, 2, 3]); // false
35
+ * ```
36
+ *
37
+ * #### Пример 3: Проверка значений других типов
38
+ *
39
+ * ```js
40
+ * is_assoc('string'); // false (строка)
41
+ * is_assoc(42); // false (число)
42
+ * is_assoc(null); // false
43
+ * is_assoc(undefined); // false
44
+ * ```
45
+ *
46
+ * @param {any} value Значение, которое необходимо проверить.
47
+ * @returns {boolean} Возвращает `true`, если значение является ассоциативным массивом, и `false` в противном случае.
48
+ */
49
+ export default function is_assoc(value) {
50
+ return is_array(value) && !Array.isArray(value);
51
+ }
@@ -1,47 +1,47 @@
1
- /**
2
- * Проверяет, является ли значение типом `bigint`.
3
- *
4
- * ### Параметры
5
- *
6
- * - `value` (any)
7
- * Значение, которое необходимо проверить.
8
- *
9
- * ### Описание
10
- *
11
- * Функция `is_bigint` проверяет, является ли переданное значение типом `bigint`.
12
- *
13
- * 1. Проверяется, что значение имеет тип `bigint`.
14
- *
15
- * Функция возвращает `false` для значений других типов, таких как числа, строки, объекты или массивы.
16
- *
17
- * ### Возвращаемое значение
18
- *
19
- * Возвращает `true`, если значение является типом `bigint`, и `false` в противном случае.
20
- *
21
- * ### Примеры использования
22
- *
23
- * #### Пример 1: Проверка значений типа bigint
24
- *
25
- * ```js
26
- * is_bigint(BigInt(123456)); // true
27
- * is_bigint(BigInt(-123456)); // true
28
- * ```
29
- *
30
- * #### Пример 2: Проверка значений других типов
31
- *
32
- * ```js
33
- * is_bigint(42); // false (число)
34
- * is_bigint('42'); // false (строка)
35
- * is_bigint(true); // false (логическое значение)
36
- * is_bigint(null); // false
37
- * is_bigint(undefined); // false
38
- * is_bigint({}); // false (объект)
39
- * is_bigint([]); // false (массив)
40
- * ```
41
- *
42
- * @param {any} value Значение, которое необходимо проверить.
43
- * @returns {boolean} Возвращает `true`, если значение является типом bigint, и `false` в противном случае.
44
- */
45
- export default function is_bigint(value) {
46
- return typeof value === 'bigint';
47
- }
1
+ /**
2
+ * Проверяет, является ли значение типом `bigint`.
3
+ *
4
+ * ### Параметры
5
+ *
6
+ * - `value` (any)
7
+ * Значение, которое необходимо проверить.
8
+ *
9
+ * ### Описание
10
+ *
11
+ * Функция `is_bigint` проверяет, является ли переданное значение типом `bigint`.
12
+ *
13
+ * 1. Проверяется, что значение имеет тип `bigint`.
14
+ *
15
+ * Функция возвращает `false` для значений других типов, таких как числа, строки, объекты или массивы.
16
+ *
17
+ * ### Возвращаемое значение
18
+ *
19
+ * Возвращает `true`, если значение является типом `bigint`, и `false` в противном случае.
20
+ *
21
+ * ### Примеры использования
22
+ *
23
+ * #### Пример 1: Проверка значений типа bigint
24
+ *
25
+ * ```js
26
+ * is_bigint(BigInt(123456)); // true
27
+ * is_bigint(BigInt(-123456)); // true
28
+ * ```
29
+ *
30
+ * #### Пример 2: Проверка значений других типов
31
+ *
32
+ * ```js
33
+ * is_bigint(42); // false (число)
34
+ * is_bigint('42'); // false (строка)
35
+ * is_bigint(true); // false (логическое значение)
36
+ * is_bigint(null); // false
37
+ * is_bigint(undefined); // false
38
+ * is_bigint({}); // false (объект)
39
+ * is_bigint([]); // false (массив)
40
+ * ```
41
+ *
42
+ * @param {any} value Значение, которое необходимо проверить.
43
+ * @returns {boolean} Возвращает `true`, если значение является типом bigint, и `false` в противном случае.
44
+ */
45
+ export default function is_bigint(value) {
46
+ return typeof value === 'bigint';
47
+ }
@@ -1,43 +1,43 @@
1
- /**
2
- * Проверяет, является ли переданное значение логическим типом (`boolean`).
3
- *
4
- * ### Описание
5
- *
6
- * В JavaScript логическое значение может быть только двумя состояниями: `true` или `false`.
7
- * Функция проверяет тип переданного значения с использованием оператора `typeof`.
8
- * Если значение является примитивом типа `boolean`, функция возвращает `true`.
9
- * Для всех других типов (включая объекты, строки, числа, `null`, `undefined` и другие) функция вернёт `false`.
10
- *
11
- * #### Примечание
12
- *
13
- * - Функция возвращает `false` для объектов типа `Boolean`, созданных с помощью конструктора `new Boolean()`.
14
- * - Возвращает `false` для массивов, объектов и других типов данных, отличных от `boolean`.
15
- *
16
- * ### Параметры
17
- *
18
- * - `value` (any):
19
- * Проверяемая переменная.
20
- *
21
- * ### Возвращаемое значение
22
- *
23
- * Возвращает `true`, если значение `value` является логическим (`boolean`), иначе `false`.
24
- *
25
- * ### Примеры использования
26
- *
27
- * ```js
28
- * is_bool(true); // Возвращает: true
29
- * is_bool(false); // Возвращает: true
30
- * is_bool(0); // Возвращает: false
31
- * is_bool('true'); // Возвращает: false
32
- * is_bool(null); // Возвращает: false
33
- * is_bool([]); // Возвращает: false
34
- * is_bool({}); // Возвращает: false
35
- * is_bool(new Boolean(true)); // Возвращает: false
36
- * ```
37
- *
38
- * @param {any} value Проверяемая переменная.
39
- * @returns {boolean} Возвращает `true`, если значение является логическим, иначе `false`.
40
- */
41
- export default function is_bool(value) {
42
- return typeof value === 'boolean';
43
- }
1
+ /**
2
+ * Проверяет, является ли переданное значение логическим типом (`boolean`).
3
+ *
4
+ * ### Описание
5
+ *
6
+ * В JavaScript логическое значение может быть только двумя состояниями: `true` или `false`.
7
+ * Функция проверяет тип переданного значения с использованием оператора `typeof`.
8
+ * Если значение является примитивом типа `boolean`, функция возвращает `true`.
9
+ * Для всех других типов (включая объекты, строки, числа, `null`, `undefined` и другие) функция вернёт `false`.
10
+ *
11
+ * #### Примечание
12
+ *
13
+ * - Функция возвращает `false` для объектов типа `Boolean`, созданных с помощью конструктора `new Boolean()`.
14
+ * - Возвращает `false` для массивов, объектов и других типов данных, отличных от `boolean`.
15
+ *
16
+ * ### Параметры
17
+ *
18
+ * - `value` (any):
19
+ * Проверяемая переменная.
20
+ *
21
+ * ### Возвращаемое значение
22
+ *
23
+ * Возвращает `true`, если значение `value` является логическим (`boolean`), иначе `false`.
24
+ *
25
+ * ### Примеры использования
26
+ *
27
+ * ```js
28
+ * is_bool(true); // Возвращает: true
29
+ * is_bool(false); // Возвращает: true
30
+ * is_bool(0); // Возвращает: false
31
+ * is_bool('true'); // Возвращает: false
32
+ * is_bool(null); // Возвращает: false
33
+ * is_bool([]); // Возвращает: false
34
+ * is_bool({}); // Возвращает: false
35
+ * is_bool(new Boolean(true)); // Возвращает: false
36
+ * ```
37
+ *
38
+ * @param {any} value Проверяемая переменная.
39
+ * @returns {boolean} Возвращает `true`, если значение является логическим, иначе `false`.
40
+ */
41
+ export default function is_bool(value) {
42
+ return typeof value === 'boolean';
43
+ }
@@ -1,43 +1,43 @@
1
- /**
2
- * Проверяет, является ли переданное значение логическим типом (`boolean`).
3
- *
4
- * ### Описание
5
- *
6
- * В JavaScript логическое значение может быть только двумя состояниями: `true` или `false`.
7
- * Функция проверяет тип переданного значения с использованием оператора `typeof`.
8
- * Если значение является примитивом типа `boolean`, функция возвращает `true`.
9
- * Для всех других типов (включая объекты, строки, числа, `null`, `undefined` и другие) функция вернёт `false`.
10
- *
11
- * #### Примечание
12
- *
13
- * - Функция возвращает `false` для объектов типа `Boolean`, созданных с помощью конструктора `new Boolean()`.
14
- * - Возвращает `false` для массивов, объектов и других типов данных, отличных от `boolean`.
15
- *
16
- * ### Параметры
17
- *
18
- * - `value` (any):
19
- * Проверяемая переменная.
20
- *
21
- * ### Возвращаемое значение
22
- *
23
- * Возвращает `true`, если значение `value` является логическим (`boolean`), иначе `false`.
24
- *
25
- * ### Примеры использования
26
- *
27
- * ```js
28
- * is_boolean(true); // Возвращает: true
29
- * is_boolean(false); // Возвращает: true
30
- * is_boolean(0); // Возвращает: false
31
- * is_boolean('true'); // Возвращает: false
32
- * is_boolean(null); // Возвращает: false
33
- * is_boolean([]); // Возвращает: false
34
- * is_boolean({}); // Возвращает: false
35
- * is_boolean(new Boolean(true)); // Возвращает: false
36
- * ```
37
- *
38
- * @param {any} value Проверяемая переменная.
39
- * @returns {boolean} Возвращает `true`, если значение является логическим, иначе `false`.
40
- */
41
- export default function is_boolean(value) {
42
- return typeof value === 'boolean';
43
- }
1
+ /**
2
+ * Проверяет, является ли переданное значение логическим типом (`boolean`).
3
+ *
4
+ * ### Описание
5
+ *
6
+ * В JavaScript логическое значение может быть только двумя состояниями: `true` или `false`.
7
+ * Функция проверяет тип переданного значения с использованием оператора `typeof`.
8
+ * Если значение является примитивом типа `boolean`, функция возвращает `true`.
9
+ * Для всех других типов (включая объекты, строки, числа, `null`, `undefined` и другие) функция вернёт `false`.
10
+ *
11
+ * #### Примечание
12
+ *
13
+ * - Функция возвращает `false` для объектов типа `Boolean`, созданных с помощью конструктора `new Boolean()`.
14
+ * - Возвращает `false` для массивов, объектов и других типов данных, отличных от `boolean`.
15
+ *
16
+ * ### Параметры
17
+ *
18
+ * - `value` (any):
19
+ * Проверяемая переменная.
20
+ *
21
+ * ### Возвращаемое значение
22
+ *
23
+ * Возвращает `true`, если значение `value` является логическим (`boolean`), иначе `false`.
24
+ *
25
+ * ### Примеры использования
26
+ *
27
+ * ```js
28
+ * is_boolean(true); // Возвращает: true
29
+ * is_boolean(false); // Возвращает: true
30
+ * is_boolean(0); // Возвращает: false
31
+ * is_boolean('true'); // Возвращает: false
32
+ * is_boolean(null); // Возвращает: false
33
+ * is_boolean([]); // Возвращает: false
34
+ * is_boolean({}); // Возвращает: false
35
+ * is_boolean(new Boolean(true)); // Возвращает: false
36
+ * ```
37
+ *
38
+ * @param {any} value Проверяемая переменная.
39
+ * @returns {boolean} Возвращает `true`, если значение является логическим, иначе `false`.
40
+ */
41
+ export default function is_boolean(value) {
42
+ return typeof value === 'boolean';
43
+ }