@rogolev/value 0.0.2 → 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.
- package/CHANGELOG.md +14 -0
- package/README.md +19 -1
- package/docs/classes/Value/constructor.md +48 -0
- package/docs/classes/Value/get.md +51 -0
- package/docs/classes/Value/getType.md +71 -0
- package/docs/classes/Value/isArray.md +67 -0
- package/docs/classes/Value/isAssoc.md +68 -0
- package/docs/classes/Value/isBigInt.md +52 -0
- package/docs/classes/Value/isBool.md +60 -0
- package/docs/classes/Value/isBoolean.md +60 -0
- package/docs/classes/Value/isClass.md +55 -0
- package/docs/classes/Value/isEmpty.md +84 -0
- package/docs/classes/Value/isFloat.md +52 -0
- package/docs/classes/Value/isFunction.md +60 -0
- package/docs/classes/Value/isInfinity.md +60 -0
- package/docs/classes/Value/isInt.md +52 -0
- package/docs/classes/Value/isInteger.md +52 -0
- package/docs/classes/Value/isList.md +59 -0
- package/docs/classes/Value/isNaN.md +79 -0
- package/docs/classes/Value/isNull.md +59 -0
- package/docs/classes/Value/isNumber.md +80 -0
- package/docs/classes/Value/isNumeric.md +79 -0
- package/docs/classes/Value/isObject.md +68 -0
- package/docs/classes/Value/isScalar.md +72 -0
- package/docs/classes/Value/isString.md +67 -0
- package/docs/classes/Value/isSymbol.md +75 -0
- package/docs/classes/Value/isUndefined.md +67 -0
- package/docs/classes/Value/print.md +164 -0
- package/docs/classes/Value/printType.md +158 -0
- package/docs/classes/Value/setType.md +79 -0
- package/docs/classes/Value/toArray.md +85 -0
- package/docs/classes/Value/toAssoc.md +85 -0
- package/docs/classes/Value/toBool.md +71 -0
- package/docs/classes/Value/toBoolean.md +71 -0
- package/docs/classes/Value/toFloat.md +72 -0
- package/docs/classes/Value/toInt.md +72 -0
- package/docs/classes/Value/toInteger.md +72 -0
- package/docs/classes/Value/toList.md +77 -0
- package/docs/classes/Value/toObject.md +78 -0
- package/docs/classes/Value/toPrint.md +115 -0
- package/docs/classes/Value/toPrintType.md +110 -0
- package/docs/classes/Value/toString.md +134 -0
- package/docs/classes/Value.md +113 -0
- package/docs/classes.md +2 -0
- package/docs/constants.md +47 -0
- package/docs/helpers/value.md +95 -0
- package/docs/helpers.md +2 -0
- package/index.mjs +3 -0
- package/package.json +2 -2
- package/src/classes/Convert.mjs +818 -819
- package/src/classes/Type.mjs +1284 -1285
- package/src/classes/Value.mjs +2846 -0
- package/src/constants.mjs +14 -0
- package/src/helpers/array.mjs +107 -107
- package/src/helpers/empty.mjs +70 -70
- package/src/helpers/gettype.mjs +149 -133
- package/src/helpers/is_array.mjs +128 -128
- package/src/helpers/is_assoc.mjs +51 -51
- package/src/helpers/is_bigint.mjs +47 -47
- package/src/helpers/is_bool.mjs +43 -43
- package/src/helpers/is_boolean.mjs +43 -43
- package/src/helpers/is_class.mjs +87 -87
- package/src/helpers/is_float.mjs +67 -67
- package/src/helpers/is_function.mjs +74 -74
- package/src/helpers/is_infinity.mjs +52 -52
- package/src/helpers/is_int.mjs +57 -57
- package/src/helpers/is_integer.mjs +74 -74
- package/src/helpers/is_list.mjs +43 -43
- package/src/helpers/is_nan.mjs +51 -51
- package/src/helpers/is_null.mjs +37 -37
- package/src/helpers/is_number.mjs +49 -49
- package/src/helpers/is_numeric.mjs +64 -64
- package/src/helpers/is_object.mjs +72 -72
- package/src/helpers/is_scalar.mjs +45 -45
- package/src/helpers/is_string.mjs +46 -46
- package/src/helpers/is_symbol.mjs +46 -46
- package/src/helpers/is_undefined.mjs +44 -44
- package/src/helpers/print.mjs +245 -245
- package/src/helpers/print_type.mjs +261 -261
- package/src/helpers/settype.mjs +101 -101
- package/src/helpers/to_array.mjs +118 -118
- package/src/helpers/to_assoc.mjs +98 -98
- package/src/helpers/to_bool.mjs +68 -68
- package/src/helpers/to_boolean.mjs +64 -64
- package/src/helpers/to_float.mjs +72 -72
- package/src/helpers/to_int.mjs +93 -93
- package/src/helpers/to_integer.mjs +81 -81
- package/src/helpers/to_list.mjs +56 -56
- package/src/helpers/to_object.mjs +94 -94
- package/src/helpers/to_string.mjs +157 -157
- package/src/helpers/value.mjs +92 -0
- package/tests/classes/Convert.test.mjs +398 -399
- package/tests/classes/Type.test.mjs +1262 -1263
- package/tests/classes/Value.test.mjs +423 -0
- package/tests/constants.test.mjs +75 -0
- package/tests/helpers/array.test.mjs +58 -58
- package/tests/helpers/empty.test.mjs +22 -22
- package/tests/helpers/gettype.test.mjs +74 -74
- package/tests/helpers/is_array.test.mjs +404 -404
- package/tests/helpers/is_assoc.test.mjs +42 -42
- package/tests/helpers/is_bigint.test.mjs +51 -51
- package/tests/helpers/is_bool.test.mjs +43 -43
- package/tests/helpers/is_boolean.test.mjs +43 -43
- package/tests/helpers/is_class.test.mjs +84 -84
- package/tests/helpers/is_float.test.mjs +87 -87
- package/tests/helpers/is_function.test.mjs +83 -83
- package/tests/helpers/is_infinity.test.mjs +46 -46
- package/tests/helpers/is_int.test.mjs +45 -45
- package/tests/helpers/is_integer.test.mjs +64 -64
- package/tests/helpers/is_list.test.mjs +42 -42
- package/tests/helpers/is_nan.test.mjs +43 -43
- package/tests/helpers/is_null.test.mjs +17 -17
- package/tests/helpers/is_number.test.mjs +25 -25
- package/tests/helpers/is_numeric.test.mjs +30 -30
- package/tests/helpers/is_object.test.mjs +52 -52
- package/tests/helpers/is_scalar.test.mjs +21 -21
- package/tests/helpers/is_string.test.mjs +20 -20
- package/tests/helpers/is_symbol.test.mjs +20 -20
- package/tests/helpers/is_undefined.test.mjs +18 -18
- package/tests/helpers/print.test.mjs +62 -62
- package/tests/helpers/print_type.test.mjs +62 -62
- package/tests/helpers/settype.test.mjs +34 -34
- package/tests/helpers/to_array.test.mjs +38 -38
- package/tests/helpers/to_assoc.test.mjs +33 -33
- package/tests/helpers/to_bool.test.mjs +51 -51
- package/tests/helpers/to_boolean.test.mjs +51 -51
- package/tests/helpers/to_float.test.mjs +26 -26
- package/tests/helpers/to_int.test.mjs +48 -48
- package/tests/helpers/to_integer.test.mjs +48 -48
- package/tests/helpers/to_list.test.mjs +32 -32
- package/tests/helpers/to_object.test.mjs +36 -36
- package/tests/helpers/to_string.test.mjs +71 -71
- package/tests/helpers/value.test.mjs +68 -0
package/src/helpers/is_array.mjs
CHANGED
|
@@ -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
|
+
}
|
package/src/helpers/is_assoc.mjs
CHANGED
|
@@ -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
|
+
}
|
package/src/helpers/is_bool.mjs
CHANGED
|
@@ -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
|
+
}
|